来自xml的string.format不会工作

时间:2012-03-26 12:21:48

标签: c# asp.net xml

我有一个XML字段,我尝试用数千个逗号打印它(例如:1,234)

这是我的代码:

<span><%=String.Format("{0:n}", dc.GetXMLField(nl[i], "PRICE")) + " ₪"%></span>

当我运行它时,我得到没有任何逗号的数字(例如:200000) 顺便说一句,它是一个字符串..

感谢帮助者。

2 个答案:

答案 0 :(得分:2)

dc.GetXMLField返回一个字符串,而不是一个可形式化的数字(int,decimal等),但为了让string.Format("{0:n}", num)起作用,num必须是actual个数字,而不是数字的字符串表示。

如果您知道这将始终是一个数字,您可以在尝试格式化之前先将其解析为数字:

String.Format("{0:n}", int.Parse(dc.GetXMLField(nl[i], "PRICE")))

答案 1 :(得分:0)

int Number = 0;
if (int.TryParse("200000", out Number))
{
    Response.Write(String.Format("{0:n}", Number, "PRICE"));
}
  

结果 - 200,000.00


(200000).ToString("N", new System.Globalization.CultureInfo("en-US"));
  

结果 - $ 200,000.00


String.Format("{0:C}", 200000);
  

结果 - 200,000.00