作者kicksmile (aa)
看板Web_Design
标题[问题] 请教一下java script算数学有误差的问题?
时间Thu Jul 27 08:55:02 2006
function cal(){
sum.value='$ '+(t11+t22+t33+t44+t55);
}
function callbylist1(){
t11=i1.value*q1.value;// i1.value是物品价钱,q1.value是client输入的数量
cal(); //call cal()去算总total
}
.
.
.
function callbylist5(){
t55=i5.value*q5.value;
cal();
}
可是算出来有时候会出现误差
有时候又会正常
正常是没有小数点的,因为都是整数相乘
但有时会出现这种情形59.849999999999994
请问有人有相同情形吗要怎麽解决呢
谢谢
从网路查了一下,有篇文章是说javascript计算都会有此问题,浮点数运算问题
所以要display的话,可以用Math.round()解决这个问题
如要精确到小数第二位,就乘100, round,在除以100
x=Math.round( x* 100 ) /100
详细内容转自
http://www.takka.com.hk/jstutor/ch18/ch18.htm
不过这个方法颇呆,不知道有没有更聪明的方法哈
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 128.125.118.32
1F:→ kaochangchih:t11:int 转整数 不知这样可否?! 07/27 10:18
※ 编辑: kicksmile 来自: 68.181.239.162 (07/28 08:00)