javascript - 为什么 JavaScript 坚持将 float 转换为整数?

标签 javascript casting floating-point integer implicit-conversion

我注意到如果我在 JavaScript 中这样做:

var dict = { "foo" : 1.0 };

当检索dict时我会得到:

{ foo : 1 }

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

最佳答案

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

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

关于javascript - 为什么 JavaScript 坚持将 float 转换为整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16693638/

相关文章:

javascript - 栏上的背景未从 Highcharts 中删除

javascript - JS DOM 更新样式值意外行为

c++ - 对 C++ 类型转换感到困惑

c# - 什么是最快的 : (int), Convert.ToInt32(x) 或 Int32.Parse(x)?

c++ - 0 + 0 + 0... + 0 != 0

javascript - Angular - 从 'then' 内部返回值

javascript - 当浏览器没有焦点时 setTimeout 会运行吗? (OS X 应用程序 Nap)

swift - 如何在 Swift 中转换 @Binding

c++ - 缺少类模板 "calc"的参数列表

sql - 将 NaN 值插入浮点列