javascript - JSON stringify 将浮点数转换为整数
我正在使用 Node.js 和内置的 JSON 对象将一个 JSON 对象转换为字符串。在该对象中是
{
weight : 1.0
}
然而,当我将其字符串化并写入文件时,输出是 weight : 1。
答案#1
正如在对类似问题的回答中以及在这个 MSDN 页面上所指出的:
在 JavaScript 中没有所谓的整数。JavaScript 中的数字是“采用双精度 64 位格式的 IEEE 754 值”。
打开你的网页浏览器的控制台并输入 1.0。你会看到 1 被打印出来。JavaScript 中的所有数字都是浮点数,所以你的序列化器只是选择省略不必要的精度。
答案#2
实际上你的问题不大,1 == 1.0 == 1.00 在 Javascript 中是成立的,如果你有一个浮点数值比如 1.55,那么字符串化会给你相同的 1.55 而不是 1.. 即便如此,如果你想写成 1.0,可以把值转换为字符串
我的意思是用双引号将值括起来
{
weight : "1.0"
}
