6

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

{ 
    weight : 1.0
}

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

4

2 回答 2

4

this answer to a similar question和this MSDN page中所述:

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

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

于 2013-05-21T04:26:26.983 回答
2

实际上你的不是问题,1 == 1.0 == 1.00在 Javascript 中,如果你有一个像 stringify 这样的浮点值,1.55那么 stringify 会给你同样的1.55 not 1..即使你想1.0被写入,也可以将值更改为字符串

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

{ 
    weight : "1.0"
}
于 2013-05-21T04:17:20.017 回答