parseFloat 在小数点后不处理零

parseFloat not working with zero after decimal

本文关键字:处理 小数点 parseFloat      更新时间:2023-09-26

我有一个文本框,形成文本框,我需要将浮点值传递给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) 编号

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

提前感谢您的帮助

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

这有点傻,但有效

尝试

parseFloat((18).toFixed(2))