很简单的一个脚本,点93折按钮以后应该计算出260.4,但却计算出260.40000000000003,大家帮我看看什么原因啊<input name="productItemMemberPrice1" type="text" value="" id="productItemMemberPrice1" />
<input id="Button1" type="button" value="93折" onclick="productItemMemberPrice1.value=productItemMarketPrice1.value*.93" />
<input name="productItemMarketPrice1" type="text" value="280" id="productItemMarketPrice1" />
<input id="Button1" type="button" value="93折" onclick="productItemMemberPrice1.value=productItemMarketPrice1.value*.93" />
<input name="productItemMarketPrice1" type="text" value="280" id="productItemMarketPrice1" />
//js语法精度的问题
//alert(260.40000000000003.toFixed(2))
<input id="Button1" type="button" value="93折" onclick="productItemMemberPrice1.value=dcmMul(productItemMarketPrice1.value,0.93)" />
<input name="productItemMarketPrice1" type="text" value="280" id="productItemMarketPrice1" />
<script>
function dcmMul(arg1,arg2){ var m=0,s1=arg1.toString(),s2=arg2.toString(); try{m+=s1.split(".")[1].length;}catch(e){}
try{m+=s2.split(".")[1].length;}catch(e){}
return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m);}
</script>