[問題] 請教一下java script算數學有誤差的問題?

看板Web_Design作者 (aa)時間19年前 (2006/07/27 08:51), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/2 (看更多)
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
t11:int 轉整數 不知這樣可否?!
07/27 10:18, 1F
※ 編輯: kicksmile 來自: 68.181.239.162 (07/28 08:00)
文章代碼(AID): #14o0tstl (Web_Design)
文章代碼(AID): #14o0tstl (Web_Design)