我正在使用string.format在razor视图中格式化我的模型值,但它没有提供所需的结果
@string.Format("{0:00}", Model.Range == null ? "" : Model.Range.ToString())
应该导致05
如果我在下面使用它会给我结果但不会从模型
@string.Format("{0:00}", 5)
有人有任何想法或相同的经历吗?
答案 0 :(得分: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()
,您会在字符串表示中获得一个数字,那么您需要先将其转换为数字(例如使用int.Parse
或其他变体)然后你可以将数字传递给string.Format
,现在可以应用正确的格式。