2011-03-24 81 views
1

我正在处理javascript。我希望它总计在两位小数。所以如果我加: 25.321 + 300.693 = 326.014将结果舍入到小数点后两位

我想要的总和为:326.01。这里是我的代码:

function civ(){ 
civ1=Number(document.addition.scc.value); 
civ2=Number(document.addition.ccc.value); 
civ3=Number(document.addition.ncc.value); 
civ4=Number(document.addition.vch.value); 
civ5=Number(document.addition.mch.value); 
civ6=Number(document.addition.nlch.value); 
civ7=Number(document.addition.slch.value); 
valNum1=civ1+civ2+civ3+civ4+civ5+civ6+civ7; 
document.addition.civ123.value=valNum1; 
} 

我也试试这个:

function civ(){ 
civ1=Number(document.addition.scc.value); 
civ2=Number(document.addition.ccc.value); 
civ3=Number(document.addition.ncc.value); 
civ4=Number(document.addition.vch.value); 
civ5=Number(document.addition.mch.value); 
civ6=Number(document.addition.nlch.value); 
civ7=Number(document.addition.slch.value); 
valNum1=Math.round(civ1+civ2+civ3+civ4+civ5+civ6+civ7*100)/100; 
document.addition.civ123.value=valNum1; 
} 

但结果不正确。我再次添加2个数字(128.65 + 0)= 1.29或1.28(我忘了)。感谢那些愿意帮助的人。

操作

回答

4

顺序...

Math.round((civ1+civ2+civ3+civ4+civ5+civ6+civ7)*100)/100; 
1

尝试这种 valNum1 = Math.round((CIV1 + CIV2 +文明3 +文明4 + civ5 + civ6 + civ7)* 100)/ 100;
你放错地方的括号

+0

嘿Ujjwal,谢谢! :) – catsgirl008 2011-03-24 06:42:51

2

试试这个:

var num = 15.65686354785 
var newnum = (num.toString().length > 4 ? num.toFixed(2) : num); 
相关问题