Javascript parseFloat结果

时间:2010-09-27 13:50:00

标签: javascript

考虑这个脚本。

<script type="text/javascript">
document.write(parseFloat(parseFloat("97.74")+parseFloat("1.82")) + "<br />");
</script>

为什么结果是99.55999999999999? 我怎样才能获得预期的输出?

2 个答案:

答案 0 :(得分:5)

欢迎来到浮点数:)

您可以使用.toFixed(numOfDecimalPlaces),例如:

document.write((parseFloat("97.74")+parseFloat("1.82")).toFixed(2) + "<br />");

.toFixed()的输出为字符串,四舍五入到指定的小数位数。

答案 1 :(得分:0)

这是一个舍入误差,因为计算机在基座2中工作,而你的大脑在10号基地工作。

试试这个:

var x = parseFloat(parseFloat("97.74")+parseFloat("1.82");
document.write(Math.round(x * 100) / 100);