好的......我想我的大脑终于在没有我的情况下去度假了。我从网站上提取了2个字段,我得到了这个字符串
vData = "Amount Owed [EXTRACT]$125.00[EXTRACT]
vData
被声明为数组(字符串)。
我在vData
上拆分[EXTRACT]
,我最终得到了两个字符串变量:
varA = "Amount Owed"
varB = "$125.00"
要解析varB
,我使用
Dim varC as Currency
varC = val(varB)
我想在varC
声明中使用If
:
If Val(VarC) <> 0 Then
我期待varC
为125但是当我看varC
时为0.我无法弄清楚为什么varC
= 0而不是125。
答案 0 :(得分:1)
使用CCur(varB)
代替Val(varB)
。 CCur
转换为Currency
类型,因此了解$
和其他内容。
来自MS docs的说明:
...使用
CCur
时,根据计算机的区域设置,可以正确识别不同的小数分隔符,不同的千位分隔符和各种货币选项。
Val
是only looking for straight numbers:
Val
函数停止在第一个字符处读取字符串,该字符串无法识别为数字的一部分。通常被视为数值的一部分的符号和字符(例如美元符号和逗号)无法识别。