gpt4 book ai didi

javascript - 从以 .0 结尾的 JSON 读取和写入浮点值

转载 作者:搜寻专家 更新时间:2023-10-31 23:51:45 25 4
gpt4 key购买 nike

我有这个 JSON 文件:

{
"weight": 12.0,
"values": [
23.4,
16.5,
16.8,
5.0,
0.0,
0.0,
0.0
]
}

如果我尝试读取此文件然后将其写回(使用 JSON.parseJSON.stringify)

const fs = require('fs')

const json = JSON.parse(fs.readFileSync('test.json'))
console.log(json)
fs.writeFile('test2.json', JSON.stringify(json), (error) => {
if (error) console.log(error)
})

输出文件如下所示:

{
"weight": 12,
"values": [
23.4,
16.5,
16.8,
5,
0,
0,
0
]
}

问题是浮点值是否以 .0 结尾。
但我需要保持这些值与原始值一样。

我能否以某种方式像字符串一样读取浮点值,然后像浮点值一样写入它
(即使它以 .0 结尾)?

附言Node.js v7.7.4

最佳答案

对于它们中的每一个,您都可以使用取模运算符 (%) 来确定它是否是整数,如果是,则将其转换为字符串并附加 ".0"到它的末尾:

json.values.map(v => {
return v % 1 === 0 ? v + ".0" : v
})

var json = {
"weight": 12.0,
"values": [
23.4,
16.5,
16.8,
5.0,
0.0,
0.0,
0.0
]
}

var result = json.values.map(v => {
return v % 1 === 0 ? v + ".0" : v
})

console.log(result);

关于javascript - 从以 .0 结尾的 JSON 读取和写入浮点值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42995651/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com