asp.net
2012-07-20 35 views 2 likes 
2

aspx頁面貨幣格式的字符串,假設我有這個標籤在我的aspx頁面:格式int在

<asp:Label ID="savings" runat="server" Text='<%# Eval("savings")%>' /> 

有沒有辦法來格式化標籤的文本爲貨幣格式的字符串?我在尋找這樣的事情:

<asp:Label ID="savings" runat="server" Text='<%# Eval("savings").ToString("C")%>' /> 

當我運行此我得到:

No overload for method 'ToString' takes 1 arguments 

編譯錯誤。

我知道我可以很容易地在我的代碼隱藏中做到這一點,但我想知道是否可以從.aspx文檔中獲得。

回答

9

試試這個代碼:

<asp:Label ID="savings" runat="server" Text='<%# string.Format("{0:C}", Eval("savings"))%>' /> 
1

ToString(string)方法只對數字類型操作,但Eval(string)返回object

把結果爲正確的類型調用它的擴展方法,這樣才:

<%# ((decimal)Eval("savings")).ToString("C") %>

+0

刪除了我的:) – greg84 2013-02-11 09:56:15

2

嘗試,如果你正在處理此代碼字符串

<asp:Label ID="savings" runat="server" Text='<%# String.Format("{0:c}", Convert.ToDecimal(Eval("savings")))%>' /> 
0

晚..但有用

任何尋找印度貨幣格式或任何其他貨幣的人都使用CultureInfo類。 例如:

(YourData).ToString("C2",CultureInfo.CreateSpecificCulture("in-IN")); 

我會建議你轉換您試圖格式化爲十進制數據,以便跳過任何費用,還要檢查this頁面獲取更多的文化組合和有關格式。

相關問題