gpt4 book ai didi

c# - Javascript float 问题 - 舍入问题?

转载 作者:数据小太阳 更新时间:2023-10-29 05:16:46 25 4
gpt4 key购买 nike

我的客户端脚本没有计算出与我的服务器端代码相同的值:

例如:

var x = (2.85 * .1);
alert(x);

这给出了一个数字 0.28500000000000003

但是我的服务器端代码 (C#) 计算出的数字是 0.285,当四舍五入到小数点后 2 位时得到 0.28

如果我尝试将 0.28500000000000003 舍入到小数点后两位,我得到 0.29。

如何让我的 Javascript 创建一个与我的服务器端代码匹配的图形。

看起来我必须经过 2 次舍入 - 首先删除尾随的 3,然后舍入到所需的小数位。

例如:

var x = 0.2850000000003;
x = parseFloat(x.toFixed(3))
x = x.toFixed(2)
alert(x);

这是最好的解决方法吗?

(这是我之前打开并删除的问题的重新措辞)

最佳答案

.Net 使用 banker's rounding .如果数字位于四舍五入的中点,例如2.5 然后将数字舍入到最接近的偶数,在本例中为 2。以这种方式舍入消除了向上舍入引入的偏差。

您可以使用位于 http://snippets.dzone.com/posts/show/1305 的代码片段在 javascript 中使用银行家舍入.

关于c# - Javascript float 问题 - 舍入问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7269936/

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