桁区切りするには


ユカりん  2002-09-25 10:36:52  No: 105039  IP: [192.*.*.*]

ラベルに数値を表示するときに桁区切りをしたいのですが、どのような
ソースを書けばよいのでしょうか??

編集 削除
おやじ  2002-09-25 12:16:51  No: 105040  IP: [192.*.*.*]

テキストボックスにもとの数値が入っているとして、以下のソースで
いかがでしょう。
Private Sub Label1_Click()
    t = Text1.Text
    If IsNumeric(t) Then
        k = InStr(t, ".")
        If k > 0 Then '小数点以下を分離しておく
            t1 = Left(t, k - 1)
            t2 = Right(t, Len(t) - k + 1)
        Else
            t1 = t
            t2 = ""
        End If
        k = Log10(t) \ 3
        For i = k To 1 Step -1
            t1 = Left(t1, Len(t1) - i * 3) + "," + Right(t1, i * 3)
        Next
        Label1.Caption = t1 + t2
    End If
End Sub

Function Log10(x) As Integer
    Log10 = CInt(Log(x) / Log(10))
End Function

編集 削除
やまだ  2002-09-25 15:17:58  No: 105041  IP: [192.*.*.*]

formatnumberって関数でもいけます。

編集 削除
たかみちえ  URL  2002-09-25 17:33:47  No: 105042  IP: [192.*.*.*]

MSDNのFornat関数の数量指定子のページに、そういう風にするための文字が書いてあったような気がします。
Format関数自体、結局わからなかったので、あんまり使ってませんけど。

編集 削除
あき☆彡  2002-09-25 19:20:13  No: 105043  IP: [192.*.*.*]

桁区切りなら、こんな感じで良いと思いますが・・・

    Label1.Caption = Format(Text1.Text, "#,#")

編集 削除
Say  2002-09-25 19:58:37  No: 105044  IP: [192.*.*.*]

MaskEditコントロールを使えば、
デザイン時にプロパティページで書式設定しておいて、
あとはただ代入するだけですみます。

編集 削除