Currently the report card builder will use translation tables for report cards to allow for weighting to happen. So instead of looking at the report card grade and then the GPA weighting and doing a simple calculation that you can either round or use decimal places to display the grade. You need to have multiple grade translation tables for each weighting. In our case (AP, HH, H, CP) then for each numeric grade that needs to be weighted you need an entry in the translation table that equates to the grade placed in the letter area of the table. Usually it is a range based on the calculation so the min or max for a specific number.
For example let's say we have an AP class weighted at 1.07 and student gets report card grade of 97. Instead of the report card builder taking the 97 and multiplying it by 1.07 and coming up with 103.79 (which can then be rounded or not) it goes and looks in the AP table and finds the 97 falls between 96.5 and 97.5 and puts in the letter grade of 104.
99% of the time it works out just fine. However here is where it becomes problematic when you have a weighted GPA calculation for the average display on the bottom of the report card once in a while because you are using letters rather than numbers the GPA will not be correct and round in the wrong direction. Now I can print the calculation to show the student but then they will ask one very smart question and that is "why doesn't the average on the bottom of the page just use the rounded who number to do the calculation of the average and round them correctly?" for which my only answer is the system uses letter grades for display and number for the GPA average and does not allow me to use the round of each number to create the average. This is problematic in instilling confidence in the system. I usually answer that the average would be incorrectly weighted. But you need to make it so that we can either create a GPA Average that will use the rounded grades before it adds them together and divides by the number of items or you need to allow control over the weighting on the report card. Either would be fine.