使用十进制逗号而不是小数点的变量
Variable using decimal comma instead of decimal point
我已经使用 Excel VBA 一段时间了,我遇到了一个以前从未遇到过的问题。我正在使用设置为波兰语的其他人的计算机,因此小数点分隔符设置为逗号。但是即使我过去对我的电脑进行了类似的设置,我也没有任何问题。
当前项目在 Visio 中创建绘图。
所以,
我有一个双精度类型的变量,计算为 pgeWidth = 550 / 1.4
我期望的是 VBA 会计算 pageWidth = 392.857...
然而 VBA 正在做的是 pgeWidth = 392,857...
如果我插入并检查 pgeWidth 的值,它会显示带有逗号分隔符的值。然后在 Visio 中将 pgeWidth 设置为页面宽度 属性,认为它应该是 392857.... 毫米宽,这显然会出错。
为什么 VBA 使用逗号分隔符而不是小数点?
如果你想通过点进一步传递值,考虑将变量转换为字符串,然后用点替换逗号:
pgeWidth = replace(CStr(pgeWidth), ",",".")
我已经使用 Excel VBA 一段时间了,我遇到了一个以前从未遇到过的问题。我正在使用设置为波兰语的其他人的计算机,因此小数点分隔符设置为逗号。但是即使我过去对我的电脑进行了类似的设置,我也没有任何问题。
当前项目在 Visio 中创建绘图。
所以,
我有一个双精度类型的变量,计算为 pgeWidth = 550 / 1.4
我期望的是 VBA 会计算 pageWidth = 392.857...
然而 VBA 正在做的是 pgeWidth = 392,857...
如果我插入并检查 pgeWidth 的值,它会显示带有逗号分隔符的值。然后在 Visio 中将 pgeWidth 设置为页面宽度 属性,认为它应该是 392857.... 毫米宽,这显然会出错。
为什么 VBA 使用逗号分隔符而不是小数点?
如果你想通过点进一步传递值,考虑将变量转换为字符串,然后用点替换逗号:
pgeWidth = replace(CStr(pgeWidth), ",",".")