考虑这个脚本。
<script type="text/javascript">
document.write(parseFloat(parseFloat("97.74")+parseFloat("1.82")) + "<br />");
</script>
为什么结果是99.55999999999999? 我怎样才能获得预期的输出?
答案 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);