Re: [VB6 ] 偽高斯計算法問題
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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):