1

string.format を使用して Razor ビュー内でモデル値をフォーマットしていますが、目的の結果が得られません

@string.Format("{0:00}", Model.Range == null ? "" : Model.Range.ToString())

結果は 05 になるはずです

以下を使用している場合、結果は得られますが、モデルからではありません

@string.Format("{0:00}", 5)

誰かがアイデアや同じ経験を持っていますか?

4

1 に答える 1

5

が数値型の場合Model.Range、次のように記述する必要があります。

@string.Format("{0:00}", Model.Range == null ? "" : Model.Range)

を使用して文字列Model.Range.ToString()に変換Rangeしたため、数値ではないため、数値の書式設定を適用できません。

ところで、string.Formatnull 引数を処理するので、次のように書くだけで十分です。

@string.Format("{0:00}", Model.Range)

Model.Rangeが数値ではなく、文字列表現で数値を取得する場合はModel.Range.ToString()、最初にそれを数値に変換する必要があります (使用int.Parseまたはその他のバリアントのように)。その後string.Format、正しい書式を適用できる数値を渡すことができます。

于 2013-04-30T14:31:17.037 に答える