所以我在javascript中加减浮动,我需要知道如何总是取超过3位小数的任何数字的上限。例如:JavaScript - 美元金额的上限
3.19 = 3.19
3.191 = 3.20
3.00000001 = 3.01
所以我在javascript中加减浮动,我需要知道如何总是取超过3位小数的任何数字的上限。例如:JavaScript - 美元金额的上限
3.19 = 3.19
3.191 = 3.20
3.00000001 = 3.01
num = Math.ceil(num * 100)/100;
虽然,due to the way floats are represented,你可能不会得到一个干净的号码,不要到小数点后两位。出于显示目的,始终执行num.toFixed(2)
。
其实我不认为你想表示美元金额作为浮动,由于Box9引用的相同原因。 例如,在我的浏览器中,0.1 * 3!= 0.3。最好将它们表示为整数(例如美分)。
我相信你是正确的将float值切换为整数,所以我会接受你的建议。感谢您的快速回答。 – bmarti44
这工作得很好,谢谢(它确实在回答我的问题)。但。 。 。我可能会采取Amnon的建议做所有的事情,作为整数 – bmarti44
@ bmarti44,Amnon的建议是好的,但一个警告的话。使用整数在进行加法和乘法运算时不会产生任何问题,但不会陷入错误的安全感:分配时会出现同样的问题,例如, '1/10 * 3'。但是,当然,根据您的应用,这可能根本不会发生。 –