gpt4 book ai didi

Javascript parseint 舍入问题

转载 作者:行者123 更新时间:2023-12-03 04:05:10 26 4
gpt4 key购买 nike

如果我执行以下操作:

parseInt(parseFloat(9.20)*100*1)/100 // returns 9.19

当我希望它返回 9.20 时,它返回 9.19 我需要更改什么才能让它返回正确的值?

当我将其更改为:

时,我遇到了同样的问题:
parseInt(parseFloat(9.12)*100*1)/100 // returns 9.11

但任何其他值都可以正常工作:

parseInt(parseFloat(9.30)*100*1)/100 // returns 9.30 (correct)

更新:

解决方案是这样的:

(Math.round(9.20*100*1)/100).toFixed(2)

最佳答案

问题在于,由于浮点错误,Javascript 中的 9.20*100 返回 919.99999999999999,而不是 920。当您对其执行 parseInt() 时,它不会四舍五入到最接近的 int,而是将其 chop 为 919,这就是您最终答案错误的原因。

除了使用 parseInt(),更好的方法是使用 Math.round()。此方法四舍五入到最接近的整数,将您的 919.99999 转换为 920,从而为您提供正确的答案。

关于Javascript parseint 舍入问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44594770/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com