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

Why does JavaScript insist on converting floats to integers?

本文关键字:转换 整数 浮点数 JavaScript 坚持 为什么      更新时间:2023-09-26

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

var dict = { "foo" : 1.0 };

检索dict时,我将得到:

{ foo : 1 }

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

JavaScript不能将浮点数转换为整数。你所看到的是一些诊断工具的行为,不管你用什么工具来观察这个变量的值。JavaScript数字总是双精度浮点数,除了在一些位操作中间(这是一个瞬态条件)。

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