除算結果がおかしい

解決


みよ  2009-11-25 22:15:51  No: 102087

下記のようなプログラムを作成すると結果が2.7272727・・・
となります。
実際は0.0272727・・・のはずです。どうすれば正常に計算されるのでしょうか?
Private Sub Form_Load()
    Dim i As Double
    i = 6 / 220
    MsgBox i
End Sub
PC環境:WindowsXP Pro SP2、VB6.0SP6


花ちゃん  2009-11-25 23:26:24  No: 102088

>    Dim i As Double
>    i = 6 / 220
>    MsgBox i
桁あふれをおこしているので、
対処方法
その1.Dim i As Currency 型で宣言する
その2.表示桁数を制限する  MsgBox Format$(i, "###0.############0")


花ちゃん  2009-11-25 23:30:16  No: 102089

その2.表示桁数を制限する  MsgBox Format$(i, "###0.############")  に修正願います。(桁数は許される範囲でお好きに)


特攻隊長まるるう  2009-11-25 23:31:52  No: 102090

>桁あふれ
というより指数表現という方がいいのでは?
一応、計算結果はおかしくないし、浮動小数点上で正常に
計算されていると認識していますが。

> 2.72727272727273E-02
E-02が10の-2乗となり、100で割る意味になります。


みよ  2009-11-26 01:29:42  No: 102091

MsgBox Format$(i, "###0.###") 
で改善されました。参考になり大変感謝しています。
有難うございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加