2010-05-16 78 views

回答

22

XML標準是明確的關於日期和數字等的格式這有助於確保XML是獨立於平臺和互操作性。看看使用XmlConvert來獲取xml數據。

double value = XmlConvert.ToDouble(stringValue); 
+3

這是一個很好的建議,因爲很多人都不知道XmlConvert類。使用DateTime值時,這一點尤爲重要。 – Josh 2010-05-16 18:18:14

+0

是的,我也沒有意識到這一點。謝謝! – asgerhallas 2010-05-16 20:58:13

+0

我不知道。謝謝。 – JefClaes 2011-11-02 08:32:59

12

double.TryParse有一個承擔IFormatProvider的重載。使用文件信息CultureInfo,在你的情況下可以使用CultureInfo.InvariantCulture。

+5

一個例子就好了,對我們懶惰類型。 – Fueled 2012-08-14 20:17:46

15

這做工作:

string test = "0.7"; 
    Assert.Equal(0.7, Double.Parse(test, NumberStyles.Float, CultureInfo.InvariantCulture)); 
+2

爲什麼downvote? – asgerhallas 2010-05-16 20:58:52

+0

你應該介紹一下這個方法的原理和原理。 – Lii 2015-03-04 08:56:01

7

簡單的方法來指定自定義小數點分隔符:

var price = "122$00"; 
var nfi = new NumberFormatInfo { CurrencyDecimalSeparator = "$" }; 
var ok = decimal.TryParse(price, NumberStyles.Currency, nfi, out result);