我注意到如果我用JavaScript做的话:
var dict = { "foo" : 1.0 };
检索dict
时,我会得到:
{ foo : 1 }
这背后的理由是什么?什么是避免它的首选方法(我目前将1.0
转换为字符串)?
答案 0 :(得分:4)
JavaScript不会将浮点数转换为整数。您所看到的是某些诊断工具的行为,无论您使用什么来查看该变量的值。 JavaScript数字总是双精度浮点数,除了在一些按位运算的中间(这是一个瞬态条件)。
因为所有数字都是浮点数,所以在将变量初始化为没有小数部分的值时,不必使用显式小数。也就是说,1
和1.0
在JavaScript程序中的值完全相同。