我正在使用Node.js和内置的JSON对象将一个JSON对象转换为字符串。在这个对象中有:
然而,当我将其转换为字符串并写入文件时,输出结果是 weight : 1。
{
weight : 1.0
}
然而,当我将其转换为字符串并写入文件时,输出结果是 weight : 1。
{
weight : 1.0
}
正如在这个答案和这个 MSDN 页面中所指出的:
JavaScript 中没有整数这一概念。JavaScript 中的数字是“双精度 64 位格式 IEEE 754 值”。
打开您网页浏览器的控制台,输入 1.0
。您会看到打印出了 1
。JavaScript 中的所有数字都是浮点数,因此您的序列化程序只选择保留必要的精度。
JSON.stringify(0.1)
时,为什么它输出的是0.1
而不是0.1000000000000000055511151231257827021181583404541015625
?它缺少了必要的精度。 - Janus Troelsen1 == 1.0 == 1.00
。如果您有一个浮点值,比如1.55
,那么字符串化将给出相同的结果,即1.55而不是1
。即使如此,如果您想要写入1.0
,请将该值更改为字符串。{
weight : "1.0"
}
1
和1.0
是相同的东西。 - phenomnomnominal