非常不好解决的js,两数相加,为什么不得正确的值?
现在我做了一个js相加函数,但结果却不对,当我在第一个文本框中输入12,在第二个文本框输入22.23,结果输入的值应该输出34.23才对,但却输出34.230000000000004
如下:
<script language= "javascript ">
function sum()
{
var gs = document.form1.XM_GSZJ.value;
var qt = document.form1.XM_QTZJ.value;
var sum1 = parseFloat(gs) + parseFloat(qt);
alert(sum1);
}
</script>
<FORM name=form1 action= " " method=post>
<INPUT id=XM_GSZJ onBlur=sum() onkeyup= "value=value.replace(/[^0-9.-]/g, ' ') " maxLength=10 size=12 name=XM_GSZJ value= " ">
<INPUT id=XM_QTZJ onBlur=sum() onkeyup= "value=value.replace(/[^0-9.-]/g, ' ') " maxLength=10 size=12 name=XM_QTZJ value= " ">
</form>
------解决方案--------------------精度问题 sum1 = Math.round(sum1*100)/100;