考虑一下这个脚本。
<script type="text/javascript">
document.write(parseFloat(parseFloat("97.74")+parseFloat("1.82")) + "<br />");
</script>为什么结果是99.55999999999999?怎样才能得到预期的输出呢?
发布于 2010-09-27 21:51:29
欢迎使用浮点数:)
您可以使用.toFixed(numOfDecimalPlaces)来执行此操作,例如:
document.write((parseFloat("97.74")+parseFloat("1.82")).toFixed(2) + "<br />");.toFixed()的输出是一个字符串,四舍五入到指定的小数位数。
发布于 2010-09-27 21:52:16
这是一个舍入误差,因为计算机工作在基数2,而你的大脑工作在基数10。
试试这个:
var x = parseFloat(parseFloat("97.74")+parseFloat("1.82");
document.write(Math.round(x * 100) / 100);https://stackoverflow.com/questions/3804436
复制相似问题