【发布时间】:2020-03-25 20:27:59
【问题描述】:
在javascript中将JSON数字解析为字符串的最佳方法是什么
Example:
{
"a": 10.00
}
通知 我无法控制价值 10.00。 我不能在那里添加“+''”。 我想保留小数位,但不规定必须有 2 位小数。
结果应该是 10.00 而不是 10
【问题讨论】:
-
JSON.parse就可以了。10和10.00的实际数字表示完全相同。如果你想以某种方式显示/格式化数字,那么你可以使用.toFixed:(10)..toFixed(2)。如果您想准确地显示数字在 JSON 文档中的书写方式,那么您就不走运了。该值必须作为字符串提供。 -
你需要 "a" 作为字符串 "10.00" 吗?
-
看看你的问题:不,你没有。您希望在某个时刻向用户显示该值,小数点后有 2 位小数。根据 Felix 的评论,请改为这样做。使用 JSON.parse,将其设为数字 10,然后仅在需要显示的时候进行格式化。
-
是的,你使用 .toFixed(2) 来完成,你根本不需要改变输入,你只需要使用
<p class="amount">${{ parsed.a.toFixed(2) }}</p>或者任何你的渲染引擎的等价物是。 -
那么您将不得不接受 Javacript 看不到 10 和 10.00 之间的差异这一事实:它们在运行时实际上是相同的值。如果你需要它是字符串,那么要么发送带有引号的 json 值(例如
"10.00"而不是10.00、"1.928346"、不是1.928346等)但如果你不能这样做,那么你不走运:编写代码检查是否有小数,如果有,直接使用数字,如果没有,如果您总是想查看最小小数位数,请使用 toFixed(...)地方。
标签: javascript json parsing