parseFloat 不能使用小数点后的零

parseFloat not working with zero after decimal

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

的文本框

现在,当我在文本框中输入值“18.575”或“18.09483”时一切正常。

但如果值为“18.000”,则无法正常工作。我知道 18.000 与 18 相同,但我需要精确数字。

所以问题是 我在 JavaScript 中需要准确的 18.00 而不是 18

我试过了

a) parseFloat

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

b) 固定

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

c) 数量

Number("18.00") // 给出 18 而不是 18.00

在此先感谢您的帮助

尝试

parseFloat((18).toFixed(2))

原生 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)

这有点傻,但有效