JavaScript-parseFloat强制2位小数作为数字
我意识到这个问题已经以某种形式或形式被问了很多次,但到目前为止,我读到的每一个答案都说use.toFixed(2),不幸的是,它将结果作为字符串返回 有些人建议解析两次,例如:JavaScript-parseFloat强制2位小数作为数字,javascript,Javascript,我意识到这个问题已经以某种形式或形式被问了很多次,但到目前为止,我读到的每一个答案都说use.toFixed(2),不幸的是,它将结果作为字符串返回 有些人建议解析两次,例如: parseFloat(parseFloat("29.6").toFixed(2)) 但结果是: 29.6 有没有办法强制parseFloat(或其他任何东西!)返回一个带有两个小数的数字类型?您可以使用: var your_value = 10.01 // replace with any value you des
parseFloat(parseFloat("29.6").toFixed(2))
但结果是:
29.6
有没有办法强制parseFloat(或其他任何东西!)返回一个带有两个小数的数字类型?您可以使用:
var your_value = 10.01 // replace with any value you desire
parseFloat(Math.round(your_value * 100) / 100).toFixed(2);
例子
var j = parseFloat(Math.round(29.6 * 100) / 100).toFixed(2);
console.log(j);
//Output = >"29.60"
var j = parseFloat(Math.round(30.2100 * 100) / 100).toFixed(2);
console.log(j);
//Output =>"30.21"
实际数字的打印表示形式的小数部分不会有尾随的
0
。为什么小数后需要2位数字?它需要显示,string
类型是合适的,如果需要在计算中使用,零是无关紧要的。这是因为5.50000
是5.5
,如果它是一个数字。如果您想在0
之后使用parseFloat
则不要使用toFixed
的返回值,它是一个字符串(“29.60”
)。我知道5.5和5.50是相等的,但我需要显示(带零)并用作数字,我也知道javascript的局限性,但希望有人有一个聪明的解决办法,这样我就可以避免显示字符串。这是一个远射:D。这并不能回答问题。您正在创建一个字符串,而OP想要一个数字。OP已经声明toFixed
不做他们想要的事情。(JS也不做他们想做的事,这就是我们试图解释的。)我明白了。那么这个问题就有点奇怪了,因为我们尝试的29.60是基本的29.6转换成了数字类型。对不起,我真的没有读数字部分。是的,OP对数字的印刷表示有误解。