parseFloat在小数点后不使用零

时间:2016-01-18 13:59:00

标签: javascript jquery floating-point numbers precision

我有一个文本框,形成我需要将 float 值传递给api的文本框。

现在,当我在文本框中有值时,事情正常。" 18.575"或" 18.09483"。

但是如果值是" 18.000"事情没有用。我知道18.000与18相同,但我需要精确数字。

问题是我在JavaScript中需要18.00,而不是18

我试过

a) parseFloat

  parseFloat("18.000");  // I get 18

b) toFixed

 (18).toFixed(2) // I get `"18.00"` but it is string and doesn't solve the purpose.

c)数字

数字(" 18.00")//给出18而不是18.00

提前感谢您的帮助

2 个答案:

答案 0 :(得分:3)

Native JSON没有提供指定浮点精度的方法,你可以通过操纵编码的json字符串来解决这个问题,比如

    data = {
        something: 18
    };
    
    json = JSON.stringify(data, function(key, val) {
        if(typeof(val) === 'number')
            return '<<<' + val.toFixed(3) + '>>>';
        return val;
    }).replace(/"<<<|>>>"/g, '');

    document.write(json)

这有点傻,但有效

答案 1 :(得分:-1)

尝试

parseFloat((18).toFixed(2))