翻一番如果誰找到了解決這一解析字符串值與小數逗號分隔符
string x = "7,50";
string y = "5";
double a = double.Parse(x);
double b = double.Parse(y);
double c = a - b;
任何一個,那麼結果一定是2,50。
,但我得到了70.因爲小數點X將被視爲75
翻一番如果誰找到了解決這一解析字符串值與小數逗號分隔符
string x = "7,50";
string y = "5";
double a = double.Parse(x);
double b = double.Parse(y);
double c = a - b;
任何一個,那麼結果一定是2,50。
,但我得到了70.因爲小數點X將被視爲75
只要指定適當的文化double.Parse
。例如:
CultureInfo french = new CultureInfo("fr-FR");
double x = double.Parse("7,50", french);
我懷疑你實際上有「7,5」作爲一種價值,但是 - 爲「7,50」是,如果你使用哪個沒文化解析爲「750」」不要用逗號作爲分隔符。
當然,如果這些貨幣值,則應考慮使用decimal
代替double
下手......
這是一個高手中風! +1 –
我有7.5作爲pardes價值。解析它之前是7,50,它解析後成爲7.5 – ypbr
@ypbr:它根本不*清楚你的意思,但你需要明白,它本身(作爲'double')沒有逗號或一個點 - 它只是一個數字。格式只在將其轉換爲字符串或從字符串轉換時才變得相關。你沒有真正給我們足夠的信息,關於數據來自何處,你如何檢查值等。 –
什麼是當前的文化設置? –
我正在使用tr-TR。我還加了 double a = double.Parse(x,new CultureInfo(「tr-TR」)); double a = double.Parse(x,CultureInfo.InvariantCulture); 但它沒有工作 – ypbr
@ypbr:「它沒有工作」是不夠的信息。請在問題中編輯一個簡短但完整的程序,幷包含輸出。 –