[問題] 請教一下java script算數學有誤差的問題?
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
→
07/27 10:18, , 1F
07/27 10:18, 1F
※ 編輯: kicksmile 來自: 68.181.239.162 (07/28 08:00)
討論串 (同標題文章)