2008-09-01 56 views
2

我試圖將一個asp.net文本框設置爲SQL 2005 money數據類型字段,顯示給用戶的初始結果是40.0000而不是40.00。 在我的asp.net文本框控件中,我想只顯示小數點後面的前兩個數字,例如40.00在ASP.Net中顯示/格式SQL 2005錢數據類型的最佳方法

什麼是最好的方法來做到這一點? 我的代碼如下:

this.txtPayment.Text = dr["Payment"].ToString(); 

回答

2
this.txtPayment.Text = string.Format("{0:c}", dr[Payment"].ToString()); 
2

,那麼 「C」 格式字符串在ASP.NET的工作方式相同,因爲它在,也就是說,Windows窗體?因爲在WinForms中,我相當肯定它服從客戶端的貨幣設置。因此,即使價值以美元存儲,如果客戶端PC設置爲顯示日元,那麼這就是將要顯示的貨幣符號。這可能不是你想要的。

txtPayment.Text = dr["Payment"].ToString("00.00") 
0

@馬特漢密爾頓

它的作用:

,如果這對使用情況下,它可能是明智的。 「c」適用於CurrentCultureInfo的任何內容,問題在於Web應用程序的所有用戶是否與服務器具有相同的貨幣,否則,他們需要獲取cultureinfo客戶端並使用從那裏收集的貨幣。

0

經過一番研究,我想出了以下內容:

string pmt = dr["Payment"].ToString(); 
double dblPmt = System.Convert.ToDouble(pmt); 
this.txtPayment.Text = dblPmt.ToString("c",CultureInfo.CurrentCulture.NumberFormat); 

我要測試給出的所有代碼示例。如果我可以用一行代碼解決這個問題,那就是我要做的事情。

相關問題