我注意到如果我在 JavaScript 中这样做:
var dict = { "foo" : 1.0 };
当检索dict
时我会得到:
{ foo : 1 }
这背后的理由是什么?避免这种情况的首选方法是什么(我目前将 1.0
转换为字符串)?
最佳答案
JavaScript 不会将 float 转换为整数。您所看到的是某些诊断工具的行为,无论您使用什么工具来查看该变量的值。 JavaScript 数字始终是 double 浮点,除了一些按位运算的中间(这是一个 transient 条件)。
由于所有数字都是浮点型,因此在将变量初始化为没有小数部分的值时,无需使用显式小数。也就是说,1
和 1.0
在 JavaScript 程序中是完全相同的值。
关于javascript - 为什么 JavaScript 坚持将 float 转换为整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16693638/