gpt4 book ai didi

javascript - toString 和 valueOf chop 小数点后的尾随 0

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:28:58 25 4
gpt4 key购买 nike

在 javascript 中,我注意到 toString 和 valueOf 会 chop 小数点后的尾随 0。例如:

var num = 0.00
var num2 = 0.0100

num.valueOf() or num.toString() // outputs 0
num2.valueOf() or num2.toString() // outputs 0.01

这是正常行为吗?是否有办法保留尾随的 0?

编辑:我改变了我原来的问题,因为我在一些测试后意识到以上是问题的根源。谢谢。

最佳答案

不是 toString 也不是 valueOf 会 chop 小数点后的尾随 0!
当你这样写小数时:

var num2 = 0.0100

你告诉你的解释器变量 num2 应该包含十进制数 0.0100,即 0.01,因为最后两个零不重要。
十进制数是用十进制数表示的内存:

0.0100
0.010
0.01
0.01000

都是完全相同的数字,因此它们在内存中的表示方式都相同。无法区分它们。
因此,不可能知道 num2 值 0.01 是否已分配给该数字,并用零、一、两个或更多尾随零写入该数字。

如果您想按照书写方式存储十进制数,则必须将其存储为字符串。

关于javascript - toString 和 valueOf chop 小数点后的尾随 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2875281/

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