3

解析された XML 値をバリアント配列に割り当てるための以下の行を含むアプリケーションがあります。

V(2) = latNode.Text * 1

これは私のシステム (Windows 7、Excel 2010) では正常に動作しますが、他のシステムでは動作しません。また、問題を報告したユーザーから応答を得ることができませんでした。

問題のある行を次のように切り替えました。

V(2) = CDbl(latNode.Text)

これは私のシステムではまだ機能しますが、そもそも問題はありませんでした。問題は、最初のアプローチが失敗するシステムとその理由、および 2 番目の方法が常に機能することです。「String * 1」のトリックを以前に別の場所で使用したことがあると確信しており、他の発生を追跡することについてどの程度注意する必要があるかを知りたいと思います。

ありがとう。

4

1 に答える 1

4

多分それは千の区切りと小数点に関連しています。Office VBA は CDbl でもカルチャ設定を使用します。私のドイツ語の Excel バージョンでは、英語とCDbl("123.4")は逆で、1234 に解析され、CDbl("123,4")123.4 に解析されます。

Val(x)常にドットを小数点として解析します。

于 2012-10-30T11:29:22.257 に答える