3

理由はわかりませんが、vba の文字列は「12.00」であり、double に変換すると

myDouble= CDbl(stringDouble)

また

myDouble = stringDouble

私は何もできません..何か助けはありますか?(すべての PC で地域設定を US に変更することはできません..)

ありがとう

4

2 に答える 2

8

コメントで既に指摘したように、これは地域設定です。システムが,小数点として使用しているため、文字列は に変換され1200ます。この場合の解決策は、次のように変換することValです。

Sub Sample()
    Dim myDouble As Double
    Dim stringDouble As String
    stringDouble = "12.00"
    myDouble = Val(stringDouble)
End Sub
于 2013-02-20T12:25:01.607 に答える
3

これは地域設定が原因である可能性が最も高く、小数点の記号が異なります。たとえば、私のロケールでは,、文字列から数値への変換に次のような構文を使用するのはそのためです。

x = "12.00"
DBLnum = CDbl(Replace(x, ".", ","))
于 2013-02-20T12:24:14.857 に答える