我不知道为什么,但是 vba 中的字符串是“12.00”,当我转换为 double 时
myDouble= CDbl(stringDouble)
或者
myDouble = stringDouble
我无能为力..有什么帮助吗? (我无法在所有电脑上将区域设置更改为美国..)
谢谢
最佳答案
正如您在评论中已经指出的,这是一个区域设置 - 因为您的系统正在使用 ,
作为小数点分隔符,字符串被转换为 1200
.这种情况下的解决方法是用 Val
来转换它:
Sub Sample()
Dim myDouble As Double
Dim stringDouble As String
stringDouble = "12.00"
myDouble = Val(stringDouble)
End Sub
关于VBA 将字符串 "12.00"转换为 1200 而不是 12.00。这只发生在欧盟区域设置而不是美国设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14979333/