我有一个文本框,形成我需要将 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
提前感谢您的帮助
答案 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))