我正在从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")));
然而,这似乎无法解决任何问题。
任何解决方案?
答案 0 :(得分:1)
请改为尝试:
this.damage = float.Parse(reader.Value, CultureInfo.InvariantCulture);
但是,如果您使用XML serialization而不是手动解析XML,则可能会使事情变得更容易。