【发布时间】:2023-03-11 19:14:01
【问题描述】:
嗯,我有一个 VB.net 代码,它从一些 XML 字段中获取值,这没问题,问题是有时值在点之后有不同的格式,所以当我尝试转换值时到一个数字,我得到一个错误的值。
我获取该字段的代码:
qntXml As XmlNodeList = docXml.GetElementsByTagName("qCom")
qnt = Convert.ToDecimal(quantidadeXml(0).InnerText)
我曾经将“qnt”字段除以 100,以获得正确的值,但它不再起作用,如下所示
<qCom>380.00</qCom>
<qCom>170.0000</qCom>
我得到“完整”数字,例如 38000,而我应该得到 380,00。
如果有人知道如何用 C# 解决它也没问题。
【问题讨论】:
-
这与 XML 无关。您正在尝试使用默认语言环境解析十进制数,这显然使用
.作为千位分隔符。不要使用Convert.ToDecimal,而是使用带有InvariantCultureInfo 的decimal.Parse,例如decimal.Parse(someText,CultureInfo.InvariantCulture)