gpt4 book ai didi

vba - 为什么使用 "String * 1"转换为 double 会失败? CDbl(String) 是否适用于所有系统?

转载 作者:行者123 更新时间:2023-12-02 17:07:42 27 4
gpt4 key购买 nike

我有一个应用程序,其中包含以下行,用于将解析后的 XML 值分配给变体数组。

V(2) = latNode.Text * 1

这在我的系统(Windows 7、Excel 2010)上运行良好,但在其他一些系统上不起作用 - 而且我无法从报告问题的用户那里得到回复。

我已将有问题的线路切换为:

V(2) = CDbl(latNode.Text)

这在我的系统上仍然有效,但我一开始就没有问题。问题是第一种方法会在哪些系统上失败,为什么会失败,第二种方法是否总是有效?我确信我以前在其他地方使用过“String * 1”技巧,并且想知道我应该如何关注追踪其他事件。

谢谢。

最佳答案

可能与千位分隔符和小数点有关。 Office VBA 即使在 CDbl 中也使用文化设置,在我的德语 Excel 版本中,与英语相比,它是相反的,CDbl("123.4") 被解析为 1234,CDbl("123,4") 到 123.4。

Val(x) 始终将点解析为小数点。

关于vba - 为什么使用 "String * 1"转换为 double 会失败? CDbl(String) 是否适用于所有系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13136143/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com