我試圖搜索谷歌和stackoverflow沒有成功。C#將任何格式字符串轉換爲雙倍
我遇到了「輸入字符串格式不正確」的問題。例外與我正在工作的應用程序。
事情是,我將一些double值轉換爲doubleNumber.ToString(「N2」)的字符串;以便將它們存儲在XML文件中。當我切換測試機器時,存儲在其中的XML文件無法返回到double值。
我已經嘗試了所有我能想到的解決方案,但設置數字文化不起作用,使用CultureInfo.InvariantCulture,替換字符也不起作用。有時這些值存儲爲「3,001,435.57」,有時(在其他PC上),如「3.001.435,57」。
無論輸入格式是什麼,是否存在某種函數或從字符串中解析double的方法?
謝謝。
你一定已經搞亂了你對InvariantCulture的使用。它應該可以在任何PC上使用一致的數字分隔符和小數位數。 – jv42 2011-06-06 11:55:56
@ jv42正如我在另一條評論中所說的,它可以保存在一種文化中,並在另一種文化中閱讀,所以文化與個人電腦的應用程序可以使用的地方不一致。 – Clone 2011-06-06 12:05:29
我一定誤解了一些部分。如果你正在創建這些文件,你可以在*保存*(不變)時指定文化在* loading *(不變)時相同,所以它不會因機器不同而不同。 – jv42 2011-06-06 12:17:48