【问题标题】:Javascript Rounding Errors [closed]Javascript 舍入错误 [关闭]
【发布时间】:2022-11-14 10:47:38
【问题描述】:
let result = workHours / hour * workRate
let result = 16/60 * 75;
let result = 0.27 * 75;

结果应该是:20.25 相反,我得到20.00

所以我认为它使用的是整数,所以我将其更改为:

let finalResult = parseFloat(workHours / hour * workRate).toFixed(2);

我仍然得到20.00

然后我尝试:

let finalResult = parseFloat(parseFloat(workHours) / parseFloat(hour) * parseFloat(workRate)).toFixed(2);

我仍然得到20.00

这里发生了什么?

谢谢您的帮助。

【问题讨论】:

  • 16/60 会给你0.26666666666666666 而不是0.27,当你有0.26666666666666666 * 75 时,它是20,而不是20.25

标签: javascript node.js reactjs


【解决方案1】:

我想16/60 => 0.26666666666666然后0.266666666*75 = 20

所以,(16/60).toFixed(2) => 0.27 然后0.27 * 75 = 20.25

(16/60).toFixed(2) * 75

let result = (workHours / hour).toFixed(2) * workRate

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-31
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多