2011-03-24 69 views
2

请原谅我,如果我对此过于乐观。最近,我发布了一个关于舍入小数点后两位的问题。现在,我怎样才能得到这些数字的总和,但我只需要两位小数就可以了。这是JavaScript即时通讯工作。得到一个总和,而不是将它舍入到小数点后两位

例如:12.876 + 36.278 = 49.154。我需要这个答案是... 49.15只。或者 另一个:12.876 + 1 = 13.876。我需要这个答案是... 13.87

这里是我的代码(以四舍五入至小数点后两位)

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)*10)/10; 
document.addition.civ123.value=valNum1; 
} 

超级感谢那些谁每天都在帮助我! :)

+0

感谢Bakudan帮助我编辑这一个;) – catsgirl008 2011-03-24 07:10:28

回答

2
Math.floor(N * 100)/100 

将去掉两位小数;无论如何,Math.floor()本质上都是倒圆角的。

+0

Gaaah,你真是个天才!谢谢Shad! :> – catsgirl008 2011-03-24 07:16:04

0

如果mynumber的是你想有两位小数数...

myNumber.toFixed(2) 

应该工作。来源:http://www.w3schools.com/jsref/jsref_tofixed.asp

+0

toFixed()不起作用。 W3Schools是你可以使用的最差的参考(查看W3Fools的信息)。 – gmoz22 2012-11-06 13:12:16

1

Math.floor(N * 100)/ 100可能无法始终工作。

例如,

4.56变为4.55

相关问题