日期:2014-05-16  浏览次数:20313 次

非常不好解决的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;