Because I'd be formatting the wrong value.
Original value = 6.999
If I use sprintf/number_format/round etc to force two decimal places, it ends up rounding the entire number to 7.00.
Item cost = 69.99
69.99 - 6.999 = 62.991
69.99 - 7 = 62.99
Now, if I use the number formatting options at this stage, I'd get either 62.99 or 63. Now, 63 is the correct value, but 7.00 is the incorrect value for the discount as it's one cent higher than it should be.
I need the discount to become 6.99, so that 69.99 - 6.99 = 63.