Re: [VB6 ] 偽高斯計算法問題

看板Visual_Basic作者 (nips)時間14年前 (2010/06/15 23:58), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
VB浮點轉整數是四捨六入 五進位成偶數 但這裡的問題不在這裏 而是在double處理的位數問題 也就是他算出的結果是20.999999999999999 用int之後變成20 這可能是早期pc的限制 (或許C也有同樣問題) 改成CINT便沒此問題 或用 CDEC 配合formatcurrency 有更高精度便無此問題 不過這真是一個大問題 尤其幫銀行寫程式時 因此不要使用那些舊的INT FIX ROUND 改用CINT與format比較保險 ※ 引述《Emptys (我們要永遠在一起)》之銘言: : 我想要讓它可以無條件捨去小數點部份 : 所以使用了下面的方法 : 我這樣寫的 : Private Sub Command1_Click() : Label4 = Int(Text1 * 0.06) : End Sub : 照這樣說~ : 他會回傳整數部份給label : 但是發現一個問題 : 當我輸入350時 : 他卻是回傳出20 : 不是應該是21嗎?? : 請問有高手知道是什麼問題嗎?? : 指點我一下吧!!感恩~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.44.78.124
文章代碼(AID): #1C5wC-2V (Visual_Basic)
文章代碼(AID): #1C5wC-2V (Visual_Basic)