相关疑难解决方法(0)

如何在mvc3,C#中将数字显示为2位小数?

可能重复:
使用字符串格式显示小数最多2个位置或简单整数
如何设置2个小数位的小数点?

我认为我有Price字段.它有以下值2.5 and 44. 我要显示此值2.50 and 44.00我使用以下代码

@{decimal prolistprice = decimal.Parse(item.OtherFields["Price"].ToString());}
  $@Math.Round(prolistprice, 2, MidpointRounding.AwayFromZero)
Run Code Online (Sandbox Code Playgroud)

其中item.OtherFields["price"] is a object我将其转换为字符串,然后十进制

但Math.round不工作它只显示2.5和44 ..任何人都可以帮助这个

c# asp.net asp.net-mvc-3

11
推荐指数
3
解决办法
6万
查看次数

HTML.EditorFor有3个小数位

如何显示带小数点后3位的模型十进制字段.目前它将它缩短为2位数.

1,237目前将显示为1,24;)

c# asp.net-mvc editorfor

9
推荐指数
1
解决办法
7167
查看次数

DisplayFormat未应用于十进制值

我有一个模型属性,我正在尝试使用EditorFor模板进行渲染,我正在尝试使用DisplayFormat属性应用格式.然而,它根本不起作用 - 它完全被忽略了.

这是我的模板:

@model System.Decimal?
@Html.TextBoxFor(m => m)
Run Code Online (Sandbox Code Playgroud)

这是我的模型:

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:0.00}")]
public decimal? Retail { get; set; }
Run Code Online (Sandbox Code Playgroud)

这是我的观点:

@Html.EditorFor(m => m.Retail)
Run Code Online (Sandbox Code Playgroud)

但它呈现的文本框具有以下值:

189.9900

它似乎非常直接,但它不起作用,我不知道为什么.

更新: 只是为了踢,我尝试使用DisplayFor模板,它工作:

@Html.DisplayFor(m => m.Retail)
Run Code Online (Sandbox Code Playgroud)

那么,当我设置ApplyFormatInEditMode为true 时,为什么DisplayFor模板可以工作,而不是EditorFor模板呢?

更新2: 没关系,工作的原因是因为我的十进制显示模板被硬编码为格式化.所以我的显示模板也不起作用.

asp.net-mvc decimal mvc-editor-templates asp.net-mvc-3 displayformat

8
推荐指数
1
解决办法
2万
查看次数