为什么JavaScript坚持将浮点数转换为整数?

时间:2013-05-22 13:53:16

标签: javascript casting floating-point integer implicit-conversion

我注意到如果我用JavaScript做的话:

var dict = { "foo" : 1.0 };

检索dict时,我会得到:

{ foo : 1 }

这背后的理由是什么?什么是避免它的首选方法(我目前将1.0转换为字符串)?

1 个答案:

答案 0 :(得分:4)

JavaScript不会将浮点数转换为整数。您所看到的是某些诊断工具的行为,无论您使用什么来查看该变量的值。 JavaScript数字总是双精度浮点数,除了在一些按位运算的中间(这是一个瞬态条件)。

因为所有数字都是浮点数,所以在将变量初始化为没有小数部分的值时,不必使用显式小数。也就是说,11.0在JavaScript程序中的值完全相同。