JSON stringify将float转换为int

时间:2013-05-21 04:13:29

标签: javascript json node.js

我使用Node.js和内置的JSON对象来字符串化JSON对象。在对象是

{ 
    weight : 1.0
}

但是,当我对字符串进行字符串化并写入时,输出为权重:1。

2 个答案:

答案 0 :(得分:4)

正如this answer中提到的类似问题以及this MSDN page

  

JavaScript中没有整数这样的东西。 JavaScript中的数字是“双精度64位格式IEEE 754值”。

打开网络浏览器的控制台并输入1.0。你会看到1打印出来。 JavaScript中的所有数字都是浮点数,因此您的序列化程序只需选择不必要的精度。

答案 1 :(得分:2)

实际上你的问题不是Javascript中的1 == 1.0 == 1.00,如果你有一个像1.55这样的浮动值,那么stringify会给你相同的1.55 not 1 ..即便如此你想1.0要编写1}},将值更改为字符串

我的意思是用双引号括起来

{ 
    weight : "1.0"
}