VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 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


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -