好吧,我有一个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#解决它也没问题。
答案 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);