gpt4 book ai didi

javascript - toFixed 不适用于 Float32Array

转载 作者:行者123 更新时间:2023-11-30 11:51:31 25 4
gpt4 key购买 nike

以下代码:

f = new Float32Array(1)
f[0] = 1.234567890
f[0] = f[0].toFixed(3)
console.log(f[0])

打印 1.2350000143051147 而不是 1.235。有人知道为什么吗?如果我将 Float32Array 更改为 Float64Array,它将正常工作。

最佳答案

.toFixed() 函数返回一个字符串,而不是一个数字。当您将该字符串分配回数组时,它会转换回数字,并且固有的不准确性变得明显。使用 32 位二进制 float ,最接近十进制值 1.235 的值(显然)约为 1.2350000143051147。

二进制 浮点值不能“固定”,必然地固定到一定数量的小数小数 位。

关于javascript - toFixed 不适用于 Float32Array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39307213/

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