问题:我可以假设它Str(myString)
总是返回与Str(CDbl(myString))
(假设它myString
是静态类型为字符串)相同的结果吗?
上下文:我试图了解 VBA 的隐式转换。到目前为止,在我看来Str(myString)
- 隐式解析
myString
为双精度(文化敏感),然后 - 将结果转换为不区分区域性的字符串。
例如,使用德语语言环境(即,
用作小数分隔符),它认为
" 1.2" = Str(1.2) = Str("1,2") = Str(CDbl("1,2"))
由于这些隐式转换对我来说包含很多“魔法”,因此我试图将使用隐式转换 ( Str(myString)
) 的过程重写为使用显式转换而不改变行为的过程。
不幸的是,文档是错误的,因此毫无用处。(文档声称to 的论点Str
被解释为 a Long
,这显然是垃圾:如果是这样的话Str(1.2)
,就永远不会产生" 1.2"
。)