请问js如何保证数字计算的正确?

发布于 2022-09-11 18:54:16 字数 426 浏览 26 评论 0

图片描述

我又两个文本框 可以填支付比例与支付金额,两个都可以填,并且改了其中一个,另外一个也会有相应变化。现在我做如下处理:
1、现将支付金额改为58.5 ,那个支付比例会变为:40.63 (都只保留两位小数) 保存一次
那么还剩下支付比例:59.38 ; 支付金额58.50.
2、我将支付比例还是输入59.38,支付比例会变为58.51.因为用了四舍五入。 我是这样算的:
支付比例 / 100 * 总金额
59.38 / 100 * 144 = 85.5072
四舍五入后成了 85.51 加上上一次的58.5 结果比总金额大了。
我又想不用四舍五入了用向下取整,但是又怕有别的问题。
请问我该怎么做?
谢谢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

冷清清 2022-09-18 18:54:16

export function currency(val) {
return (Math.round(Number(val) * 100) / 100).toFixed(2) || '0.00';
}

懷念過去 2022-09-18 18:54:16

如果四舍五入取整肯定会导致误差,不要四舍五入,显示数据的时候保留两位小数,保存数据的变量保持最精确的状态。

金兰素衣 2022-09-18 18:54:16

监听变化让后端去算金额返回

镜花水月 2022-09-18 18:54:16

多留几位小数, 然后转成整数,偏差可能会小点

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文