2012-05-01 44 views
1

所以我很好奇它是否有可能讓我使用.ToString("C")方法從我的數字中生成一個貨幣值,但是它顯示的是結合最小值的值。用零填充貨幣到固定寬度(ToString(「C」))?

一個例子,可以說我的號碼永遠不會超過$ 1,000.00。但是,通常生成的值如下所示,$ 0,487.00。我知道你可能在想爲什麼要這麼做。在這種情況下,我不希望標籤大小根據內容增加或減少。另外,如果數字沒有被實際的美元金額填充,我希望數字被0代替。有什麼建議麼?

+0

可以將標籤製成固定寬度嗎? –

+0

你的意思是,如果有貨幣487,你想顯示它像$ 0,487.00?或45美元,如$ 0,045.00?如果是這樣,您可以使用自定義貨幣格式並使用String.Format(「$ {0:0,000.00}」,yourValue); –

+0

是的,我想我主要關心的是內容。我不希望內容重新調整。我正在尋求一種以固定內容爲中心的方法。我將編輯我的問題 – meanbunny

回答

1

您可以只使用一個自定義格式字符串:

.ToString("$0,000.00"); 

注意,在您的格式字符串中使用0!而非# S,它保證了即使這些數字將出席,數字不夠大。

+0

這將完美工作!剛剛測試過它。 @Tony Leeper對不起,他有5秒鐘在你身上:( – meanbunny

+0

很高興知道。請注意,如果你擔心在不同國家出現,你將不得不看看[RegionInfo.CurrencySymbol](http:// msdn .microsoft.com/en-us/library/system.globalization.regioninfo.currencysymbol%28v = vs.110%29.aspx)屬性,以及千位分隔符和小數位的適當屬性。不同地區也將貨幣 – Alain

+0

如果內存用於處理負值,您也不會像處理「C」格式字符串一樣處理負值 – Servy

1

這是你在追求什麼?

.ToString("$0,000.00") 
+1

這不會在不同的語言環境中打破嗎? – 2012-05-01 16:29:04