gpt4 book ai didi

JavaScript整数除法导致 float ,是否可能出现舍入错误?

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

我知道 1.005*100/100 这样的示例在 JavaScript 中会产生稍微不准确的结果 (100.49999999999999),这是浮点设计的固有特征。

我的问题是看看我是否可以在不使用字符串操作的情况下生成可靠的十进制舍入例程。

x 是一个整数,x/100 (int/int=float) 是否会产生视觉误差? (即 ..000001..99999)最好举个例子来证明这一点。

如果答案是肯定的,那么在 JavaScript 中可靠地将小数点向左移动的唯一方法是使用字符串操作(即 MDN's Math.round10 ),并采取适度的性能影响。

最佳答案

根据这个测试,整数除以整数没有错误。

var multipliers = [10, 100, 1000, 10000, 100000, 1000000]
for(var i = 0; i < 100000; i++) {
multipliers.forEach(function (mul) {
var x = i / mul
if(x != x.toFixed(6))
document.write('found one! ' + i + ' / ' + mul + ' = ' + x + '<br/>')
})
}
document.write('done!')

不错。这意味着无需字符串操作即可创建强大的舍入到十进制例程。 :-)

关于JavaScript整数除法导致 float ,是否可能出现舍入错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34339914/

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