投稿日 | : 2004/06/24(Thu) 19:43 |
投稿者 | : 魔界の仮面弁士 |
Eメール | : |
URL | : |
タイトル | : Re: 整数部の桁数を取得する方法 |
> VB6.0で,入力した数の整数部の桁数を返すルーチンを考えています。
InStr関数を使って、小数点の位置を調べるようにしてみるとか。
> 以下のように書いてみたところ,うまくいかない時があります。
通貨型(固定小数点型)とは異なり、Double型やSingle型は「浮動小数点型」といって、
そもそも、誤差を含む値なのです。
10進数ですと、10÷3な小数値を正しく表現できませんよね。
それと同様、2進数でも表現しきれない数があるわけです。
(桁数が多ければ誤差は減りますが、桁数を無限にするわけにもいきませんしね)
Private Sub Form_Load()
Dim A As Double
Dim B As Double
Dim X As Double
A = 32
B = 1000
X = Fix((A / B) * B)
Label1.Caption = CStr(X)
Dim C As Currency
Dim D As Currency
Dim Y As Currency
C = 32
D = 1000
Y = Fix(CCur(C / D) * D)
Label2.Caption = CStr(Y)
End Sub