Question

So I am adding and subtracting floats in javascript, and I need to know how to always take the ceiling of any number that has more than 3 decimal places. For example:

3.19 = 3.19

3.191 = 3.20

3.00000001 = 3.01

Was it helpful?

Solution

num = Math.ceil(num * 100) / 100;

Though, due to the way floats are represented, you may not get a clean number that's to two decimal places. For display purposes, always do num.toFixed(2).

OTHER TIPS

Actually I don't think you want to represent dollar amounts as float, due to the same reason cited by Box9. For example, 0.1*3 != 0.3 in my browser. It's better to represent them as integers (e.g. cents).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top