我試圖將字符串轉換爲雙,我有這個值:53.095
,並嘗試轉換爲雙象:Double.Parse不能讓逗號
string doub = "53.095";
var cv = Convert.ToDouble(doub);
我得到:53095
。爲什麼我沒有得到逗號?我錯過了什麼?
我試圖將字符串轉換爲雙,我有這個值:53.095
,並嘗試轉換爲雙象:Double.Parse不能讓逗號
string doub = "53.095";
var cv = Convert.ToDouble(doub);
我得到:53095
。爲什麼我沒有得到逗號?我錯過了什麼?
我想這是因爲不同的國家處理逗號不同。例如,我國使用,
代替。所以你必須知道字符串是如何格式化的。
string doub = "53.095";
var cv = double.Parse(doub, new CultureInfo("en-GB"));
對於另一個本地化,這將工作。
string doub = "53,095"; // note ,
var cv = double.Parse(doub, new CultureInfo("sv-SE"));
編輯:
如前所述king_nak,你將能夠使用CultureInfo.InvariantCulture
,只要您使用的英式風格進行格式化。
它與英文相關,但不與 國家/地區相關聯。
string doub = "53.095";
string doub2 = "53,095";
var cv1 = double.Parse(doub, CultureInfo.InvariantCulture); // Works
var cv2 = double.Parse(doub2, CultureInfo.InvariantCulture); // Does not work.
也許這太問題可以幫助你:http://stackoverflow.com/questions/11560465/parse-strings-to-double-with-comma-and-point –