如果你这样做......如何在解析JSON时防止删除小数点?
var parsed = JSON.parse('{"myNum":0.0}') ;
然后,当你看parsed.myNum
,你只会得到0
。 (足够公平。)
如果你做parsed.myNum.toString()
,你会得到"0"
。
基本上,我正在寻找一种方法将它变成字符串"0.0"
。
显然,在现实生活中,我不控制JSON输入,我从Web服务获取JSON ...我想使用浏览器的JSON解析器解析JSON,并且能够识别数值0
和0.0
。
有没有办法做到这一点,手动阅读JSON字符串?在这种情况下,这不太可能,我需要使用浏览器的本机JSON解析器来提高速度。 (这是一个Chrome扩展的方式,没有必要担心它在其他浏览器中工作。)
JavaScript没有不同的整数和浮点数类型。语言规范说强制一个没有小数的数字会丢掉小数点。使用像bensiu建议的一种自定义格式化方法。 – 2011-04-02 01:08:20
它有什么不同? '0'是'0.0'是'0.00000000000' .... – 2011-04-02 01:09:24
@Felix Kling:是的,我知道0在数学上与0.0相同。但是想象一下网络服务器可以提供0或0.0的情况,具体取决于它如何存储在数据库中(作为整数或浮点数)。我希望能够在JavaScript中做出这样的区分。 – callum 2011-04-02 01:13:54