0
那么,我有一个VB.net代码,它从一些XML fiels中获得值,没有问题,问题是有时值有不同的格式,点之后,所以当我尝试将该值转换为一个数字,我得到一个错误的值。从XML获取十进制值
我的代码来获取领域:
qntXml As XmlNodeList = docXml.GetElementsByTagName("qCom")
qnt = Convert.ToDecimal(quantidadeXml(0).InnerText)
我用100分的“QNT”领域,以获得正确的值,但它不工作了,因为你可以看到下面
<qCom>380.00</qCom>
<qCom>170.0000</qCom>
我得到“完整”数字,例如38000,而我应该得到380,00。
如果有人有一个想法如何用C#解决它也没有问题。
此无关的XML。你正试图用默认语言环境解析一个十进制数,这显然使用'.'作为千位分隔符。不要使用Convert.ToDecimal,而要在InvariantCultureInfo中使用'decimal.Parse',例如'decimal.Parse(someText,CultureInfo.InvariantCulture)' –