2012-05-29 41 views
0
var amount="0"; 
@String.Format("{0:0.00}", amount) 

回報"0"的String.Format問題

雖然我期待它返回

"0.00" 
+1

我認爲這裏的問題是,var已經明確鍵入數量作爲字符串,擺脫引號。 –

+0

您正在打印字符串「0」。它的表示是「0」,嘗試打印十進制數= 0; –

+0

爲什麼這個問題得到了投票?這是一個簡單的編程錯誤。乏味的。 –

回答

10

格式化字符串只返回字符串本身,你必須格式化號碼來獲得它格式化爲一個數:

var amount = 0; 

帶有隱式類型的變量被賦值爲整數,因此它不會有小數部分。您可能需要指定類型:

double amount = 0; 

或者使用雙重價值:

var amount = 0.0; 
0

嘗試:

String.Format("{0:#.##}", amount) 

OR

String.Format("{0:N2}", amount) 

scratch這 - Guffa的答案是正確的......

0

試試這個

.ToString("N2") 

它將使用的CultureInfo格式化數字。這意味着根據所使用的CultureInfo,您的千位分隔符可能會有所不同。如果需要,您也可以傳遞所需的CultureInfo。