【问题标题】:javascript - ceiling of a dollar amountjavascript - 美元金额的上限
【发布时间】:2011-01-27 14:05:14
【问题描述】:

所以我在 javascript 中添加和减去浮点数,我需要知道如何始终取小数点后 3 位以上的任何数字的上限。例如:

3.19 = 3.19

3.191 = 3.20

3.00000001 = 3.01

【问题讨论】:

    标签: javascript math floating-point ceil


    【解决方案1】:
    num = Math.ceil(num * 100) / 100;
    

    不过,due to the way floats are represented,您可能无法得到精确到小数点后两位的数字。出于显示目的,请始终使用num.toFixed(2)

    【讨论】:

    • 这很好用,谢谢(它确实回答了我的问题)。但。 . .我可能会接受 Amnon 的建议,把所有事情都当作整数
    • @bmarti44,Amnon 的建议很好,但要提一句警告。使用整数在进行加法和乘法时不会产生任何问题,但不要陷入错误的安全感:除法也会出现同样的问题,例如1/10 * 3。但当然,根据您的应用程序,这可能根本不会发生。
    【解决方案2】:

    实际上,由于 Box9 引用的相同原因,我认为您不想将美元金额表示为浮动金额。 例如,0.1*3 != 0.3 在我的浏览器中。最好将它们表示为整数(例如美分)。

    【讨论】:

    • 我相信您将浮点值切换为整数是正确的,所以我会听取您的建议。感谢您的快速回答。
    猜你喜欢
    • 2020-10-09
    • 1970-01-01
    • 2011-07-31
    • 1970-01-01
    • 2015-12-22
    • 2016-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多