2012-03-26 69 views
0

我有我嘗試與成千上萬的逗號(例如:1,234)打印XML字段的String.Format不會工作

這是我的代碼:

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

當我運行這,我得到的號碼沒有任何逗號(例如:200000) 順便說一下,它的一個字符串..

謝謝你的幫手。

回答

2

dc.GetXMLField返回一個字符串,而不是formatable數(INT,十進制,等),但爲了使string.Format("{0:n}", num)工作,NUM必須是一個actual數目,不是數字的字符串表示。

如果你知道這將永遠是試圖格式化之前,一個號碼,你可以分析它分成若干第一,:

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

的確! ... *順便說一下,它的一個字符串.. * – V4Vendetta 2012-03-26 12:26:11

+0

我可以解析它爲「int」,然後它會工作嗎? – thormayer 2012-03-26 12:27:55

+1

@ V4Vendetta - ah yes - 編輯答案 – 2012-03-26 12:29:21

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