XML CultureInfo加载数据不正确

时间:2014-09-15 23:21:25

标签: c# xml cultureinfo

我正在从XML文档加载浮动。

例如,从以下行:

  <Attack name="Sword Slash" damage="10.0" stat="Strength" multiplier="2.0" />

如果我读了这个并将其解析为浮点数,则损坏为100而不是10.0,乘数为20而不是2.0。我认为这是因为CultureInfo的问题(不确定)。

我尝试通过更改从以下位置读取数据的行来修复它:

this.damage = float.Parse(reader.Value);

要:

this.damage = float.Parse(reader.Value.ToString(CultureInfo.CreateSpecificCulture("en-US")));

然而,这似乎无法解决任何问题。

任何解决方案?

1 个答案:

答案 0 :(得分:1)

请改为尝试:

this.damage = float.Parse(reader.Value, CultureInfo.InvariantCulture);

但是,如果您使用XML serialization而不是手动解析XML,则可能会使事情变得更容易。