我不知道为什么,但是vba中的字符串是“12.00”,当我转换为double时,

myDouble= CDbl(stringDouble)

要么
myDouble = stringDouble

我无能为力..有什么帮助吗? (我无法在所有PC上将区域设置更改为“美国”。)

谢谢

最佳答案

正如您已经在注释中指出的那样,这是一个区域设置-由于系统使用,作为小数点分隔符,因此字符串将转换为1200。在这种情况下,解决方案是使用Val进行转换:

Sub Sample()
    Dim myDouble As Double
    Dim stringDouble As String
    stringDouble = "12.00"
    myDouble = Val(stringDouble)
End Sub

09-27 21:11