2010-03-03 45 views

回答

8

「C」是默認的貨幣格式字符串,它總是會截斷你的電話號碼到小數點後兩位。如果您處理的是一小部分的小部分,則需要指定小數位數。

嘗試

string.Format("{0:C4}",....); 

更多貨幣格式選項can be found here

+0

好吧,這個工作,但可以說我有價值1245.2993,我做C4的格式,然後它會顯示1245.2993,但在這種情況下,我想只顯示1245.29例如。有沒有辦法指定這個? – Xaisoft 2010-03-03 17:57:39

+0

格式化字符串不是有條件的 - 要麼需要四位小數或兩位。您必須事先使用條件邏輯來檢查您的號碼並使用適當的格式字符串。 – womp 2010-03-03 18:01:44

+0

string.Format不會自動執行此操作。如果你想要取決於值的不同格式,你必須檢查代碼中的值。 – Keltex 2010-03-03 18:02:17

3
string.Format("{0:C4}",....); 
0

請原諒這個問題的死法,但對於今天任何人閱讀這裏,這裏是一個我們使用的自定義格式字符串。它與美國貨幣的標準「C」格式相匹配,只是如果存在它可以選擇顯示小數點後三位或四位。這應該適用於格式化SQL Server貨幣值的一小部分。

// String.Format() example 
string.Format("{0:$#,0.00##;($#,0.00##);$\0\.\0\0}", someDecimalValue) 
// Decimal.ToString() example 
someDecimalValue.ToString("$#,0.00##;($#,0.00##);$\0\.\0\0") 

因爲它沒有使用標準的「C」格式,所以對區域設置不敏感。對於需要國際化的應用,應該額外考慮。