2012-04-06 39 views
4

我想在我的DataGrid中格式化貨幣值,以便它們以美元符號($)開頭。

我該怎麼做?

+0

對不起,但我想我理解了這個問題。她正在嘗試將特定列中的單元格格式化爲數字格式。 @ Nikki196 - 如果這是正確的,請參閱http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.datagridcolumn.itemstyle.aspx雖然我不得不說,它有助於添加一點更詳細的問題,並列出你已經嘗試過。按照「關閉不是真正的問題」中所示的常見問題解答進行檢查。 – David 2012-04-06 14:28:47

+1

我同意@DavidStratton。這不是一個很好的問題,也沒有措辭。但它是可以回答的。我想知道這是WinForms,ASP .NET還是WPF。 – Yuck 2012-04-06 14:32:06

+0

@ Nikki196 - 我看了一下你的其他問題,我認爲這對你閱讀John Skeet撰寫完美問題的博文非常有幫助。如果我們有足夠的信息來回答它,它使我們更容易幫助。 http://msmvps.com/blogs/jon_skeet/archive/2010/08/29/writing-the-perfect-question.aspx – David 2012-04-06 15:33:47

回答

2

如果你在談論顯示貨幣格式的數據,甚至是簡單地增加一個「$」數據的開頭,這樣

1.49

顯示爲

$ 1.49

然後你可以用幾種方法做到這一點。在DataGrid控件(web)上,您可以設置DataFormatString屬性。

一種選擇是將其設置爲「c」作爲BoundColumn上的貨幣。如果你的Web服務器的CultureInfo被設置爲en-US

<asp:BoundColumn DataField="CurrencyValue" 
       HeaderText="Price" 
       DataFormatString="{0:c}"> 

另一種選擇是使用CustomFormatString,它讓你在它是如何顯示的更精確的控制,這將正常工作。假設你總是希望它是整整三位小數的右邊,恰好爲兩個數字到左邊,你可以使用

{0:$ 00.000}自定義數據格式字符串的數字

更多信息,在這裏找到:http://msdn.microsoft.com/en-us/library/0c899ak8.aspx

既然你在的WinForms工作,(對不起,我只是重新閱讀註釋),你會使用相同的技術,但它適用於列的DefaultCellStyle如下所示:http://msdn.microsoft.com/en-us/library/f9x2790s.aspx

dataGridView1.Columns["UnitPrice"].DefaultCellStyle.Format = "c"; 
+0

非常感謝你..我用C貨幣的列.. – Nikki196 2012-04-09 20:39:53

1

另外,如果您正在尋找格式爲CultureInfo的文化特定單元格,則可以使用FormatProvider屬性DataGridCellStyle。在WinForms中:

dataGridView1.Columns["MoneyValue"].DefaultCellStyle.Format = "c"; 
dataGridView1.Columns["MoneyValue"].DefaultCellStyle.FormatProvider = 
System.Globalization.CultureInfo.CreateSpecificCulture("es-CO");