2017-04-24 74 views
0

可能非常簡單的問題,但仍試圖找出。我在此格式提供的字符串多輸入雙打:鑄字符串加倍

0.99 
0.456 
etc.. 

在我的開發系統時,我把它轉換喜歡:

CDbl(0.456) 

這很好,但是對生產,我得到SystemInvalidCastException.

我我不確定,但我敢打賭,它關於不同的系統符號,如點或逗號。

有沒有什麼辦法可以獨立於系統配置,並將我的輸入字符串交易爲正確識別爲雙?

我試過這種方法,似乎它的工作。這是正確的方法嗎?

Double.Parse(value, CultureInfo.InvariantCulture) 

回答

2

是的,這是您正確的方式。

問題的確與文化有關。如果你不指定任何文化,它將默認系統的文化,這很可能是代碼在一個系統上工作而不在另一個系統上工作的原因。

通過指定不變的文化,確保系統文化對鑄造沒有任何影響。