我不知道为什么,但是vba中的字符串是“12.00”,当我转换为双重
myDouble= CDbl(stringDouble)
或
myDouble = stringDouble
我无能为力......有什么帮助吗? (我无法在所有电脑上将区域设置更改为美国..)
感谢
答案 0 :(得分:7)
正如您在评论中已经提到的,这是一个区域设置 - 因为您的系统使用,
作为小数点分隔符,字符串将转换为1200
。在这种情况下,解决方案是使用Val
:
Sub Sample()
Dim myDouble As Double
Dim stringDouble As String
stringDouble = "12.00"
myDouble = Val(stringDouble)
End Sub
答案 1 :(得分:2)
这很可能是由于区域设置 - 小数分隔符不同。例如。在我的语言环境中它是,
- 这就是为什么对于字符串到数字的转换我使用这样的语法:
x = "12.00"
DBLnum = CDbl(Replace(x, ".", ","))