从XML获取十进制值

时间:2017-04-10 13:59:30

标签: c# .net xml vb.net

好吧,我有一个VB.net代码从一些XML fiels获取值,没有问题,问题是有时值在点后有不同的格式,所以当我尝试转换值时我得到一个错误的数字。

我的代码来获取该字段:

qntXml As XmlNodeList = docXml.GetElementsByTagName("qCom")
qnt = Convert.ToDecimal(quantidadeXml(0).InnerText)

我过去常常分开" qnt"字段乘以100,以获得正确的价值,但它不再起作用,如下所示

<qCom>380.00</qCom>
<qCom>170.0000</qCom>

我得到了#34;完整的&#34;数字,例如38000,而我应该得到380,00。

如果有人知道如何用C#解决它也没问题。

1 个答案:

答案 0 :(得分:0)

Convert.ToDecimal使用CurrentCulture Property

因此,您可以转换为以逗号显示

qntXml As XmlNodeList = docXml.GetElementsByTagName("qCom")
var clone = (CultureInfo)CultureInfo.CurrentCulture.Clone();
clone.NumberFormat.NumberDecimalSeparator = ".";
qnt = Convert.ToDecimal(quantidadeXml(0).InnerText, clone);