10

$1,200.00 のような書式設定された金額を表示する必要がある詳細ビューで MVC3 を使用しています。この場合、コントローラーは、MonthlyMortgage の double 値をビューに渡しています。ただし、以下のコード行では、正しい文字列形式が表示されません。表示されているのは $1200.00 で、必要なのは $1,200.00 です。

私が試してみました:

$@String.Format("{0:c}", Html.DisplayFor(model => model.MonthlyMortgage))

そして私はこれを試しました:

$@String.Format("{0:#,###,###,##0.000}", Html.DisplayFor(model => model.MonthlyMortgage))

誰かがこれが機能しない理由を説明できますか?

4

3 に答える 3

21

Html.DisplayFor返ってくるMvcHtmlStringので使う必要はありstring.Formatませんので当てはまりません。

string.Formatモデルで を使用するだけです。

@String.Format("{0:c}", Model.MonthlyMortgage)

が処理するため、「$」記号はもう必要ないこと{0:c}に注意してください。

于 2012-06-24T08:10:57.700 に答える
10

@nemesvには直接の答えがあります。もう 1 つのオプションは String.Format()、ビューから削除し、DataAnnotations を使用して MonthlyMortgage に書式設定を添付することです。

MSDN の例:

[DisplayFormat(DataFormatString = "{0:C}")]
public Decimal ListPrice { get; set; }

ところで、次の#,###,###,##0.000ように短縮できます#,##0.00

于 2012-06-24T08:13:23.060 に答える