如果我已將值0.0042返回,並將其傳遞給:使用{0:C}格式化1.00以下的值?
string.Format(「{0:C}」,....);
它顯示$ 0作爲結果時,我希望它實際顯示:
$ 0.0042
如果我已將值0.0042返回,並將其傳遞給:使用{0:C}格式化1.00以下的值?
string.Format(「{0:C}」,....);
它顯示$ 0作爲結果時,我希望它實際顯示:
$ 0.0042
「C」是默認的貨幣格式字符串,它總是會截斷你的電話號碼到小數點後兩位。如果您處理的是一小部分的小部分,則需要指定小數位數。
嘗試
string.Format("{0:C4}",....);
更多貨幣格式選項can be found here。
string.Format("{0:C4}",....);
請原諒這個問題的死法,但對於今天任何人閱讀這裏,這裏是一個我們使用的自定義格式字符串。它與美國貨幣的標準「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」格式,所以對區域設置不敏感。對於需要國際化的應用,應該額外考慮。
好吧,這個工作,但可以說我有價值1245.2993,我做C4的格式,然後它會顯示1245.2993,但在這種情況下,我想只顯示1245.29例如。有沒有辦法指定這個? – Xaisoft 2010-03-03 17:57:39
格式化字符串不是有條件的 - 要麼需要四位小數或兩位。您必須事先使用條件邏輯來檢查您的號碼並使用適當的格式字符串。 – womp 2010-03-03 18:01:44
string.Format不會自動執行此操作。如果你想要取決於值的不同格式,你必須檢查代碼中的值。 – Keltex 2010-03-03 18:02:17