我需要回答幾個問題來幫助調試我遇到的全球化/本地化問題,這讓我非常難過。關於Ctype&.ToString本地化/全球化的問題
1)CType
如果在全球化/本地化時將字符串轉換爲雙精度值,究竟是如何工作的?從我的研究,並要求在辦公室的其他開發人員,我認爲CType應該使用您的計算機上的任何文化設置。因此,例如CType("1.23", Double)
可以在美國文化計算機上正常工作。但是如果說荷蘭的文化計算機將其轉換爲123
,那麼,
被識別爲小數點,而.
被識別爲千位分隔符。但如果字符串是1,23
,那麼它在荷蘭計算機上工作正常,在美國計算機上變成123
。
2)如何.ToString
工作,如果我搶了許多,說doubleNumber.ToString
將其轉換爲字符串?
根據我在這裏的經驗,我99.9%確定不應該包含千位分隔符,因此1,234.56
這個數字在美國計算機上會變成1234.56
,對嗎?而在荷蘭文化計算機上,這個數字將變成1234,56
,因爲,
是小數位,對吧?
3)是否有荷蘭文化的計算機上的方式,在雙CType(#, Double)
或.ToString
能在某種程度上陷入困境,並開始認識到.
作爲小數點分隔符,而不是像,
荷蘭文化應該承認?
底線:項目#3是我遇到我的問題。 99.9%的美國和外國用戶可以在沒有任何本地化問題的情況下運行我的軟件。但是荷蘭的用戶報告了一個錯誤,其中導入txt
文件中的數字以某種方式將1,23
轉換爲123
。當我們的客戶支持人員告訴他們將小數點更改爲.
時,它工作正常。由於某種原因,使用美國文化計算機(他們堅持認爲他們沒有)的荷蘭用戶,我無法弄清楚這個問題是如何發生的。