1

I am using string.format to format my model value inside razor view but it does not gives desired result

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

It should result as 05

if i am using below it gives me result but not from model

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

Someone have any idea or same experience ?

4

1 回答 1

5

如果Model.Range是数字类型,那么您需要编写:

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

因为Model.Range.ToString()您已将您的字符串转换Range为字符串,因此无法应用数字格式,因为它不再是数字。

顺便说一句,string.Format处理空参数,所以写就足够了:

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

如果Model.Range不是数字,但Model.Range.ToString()您获得了字符串表示形式的数字,那么您需要首先将其转换为数字(如 usingint.Parse或其其他变体),然后您可以将数字传递给该数字string.Format,现在可以应用正确的格式。

于 2013-04-30T14:31:17.037 回答