2010-05-16 80 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);