## Precision Loss Caused by Rounding

When resources are distributed to a large number of tasks, because rounding happens to two places after the decimal point, precision can be lost. When this happens Cartegraph implements an alternative rounding behavior of rounding down instead of up.

### Example

This example shows how Cartegraph checks rounding behavior results to keep data precision. For this example 500 Tasks are selected, 8 Labor hours entered, resulting in 0.01 hours per task.

- The system first uses rounding up behavior:
- 8 hours/500 tasks = 0.016 and is rounded up to 0.02
- 0.02 is multiplied by 499 = 9.98

499 is used because 1 task is reserved to receive the adjusted amount to keep precision.

- 9.98 is subtracted from 8 hours, creating a negative number and an inaccurate result caused by rounding up.
- The system detects this situation and recalculates using rounding down behavior called flooring.
- 8 hours/500 = 0.016 and is rounded down to 0.01.
- 0.01 is multiplied by 499 = 4.99.
- 4.99 is subtracted from 8 hours = 3.01
- 3.01 is applied to the reserved task to keep data precision.