<script>ip
function changeSum(patout){
var oldPatout = 45.69211;
var contractFee = 50.59211
var newPatout = 5.1;io
var sum= parseFloat(newPatout)+parseFloat(oldPatout);
alert(sum);
alert(parseFloat(contractFee));function
</script>方法
結果alert(sum):爲50.5921100001 ; alert(parseFloat(contractFee)) : 爲50.5921100000;co
解決辦法:script
第一種:四捨五入new
Math.round(parseFloat("45.69211")+parseFloat("5.1"));
第二種:保留幾位小數
sum.toFixed(5); toFixed(n)中的n表明保留幾位
第三種:擴大必定的倍數,對結果在縮小這個倍數
var num1=parseFloat("234432.9")*1000000000000;
var num2=parseFloat("0.2")*1000000000000;
var num3=(num1-num2)/1000000000000;
結果爲 234432.7
第一種方法確定不推薦,由於會損失精度。對於第二種方法,若是可以肯定保留n位徹底夠用了,那就能夠。