【问题标题】:Decimal value displays as 0.00十进制值显示为 0.00
【发布时间】:2012-10-11 08:52:59
【问题描述】:

我在我的项目中保存工资值(首先使用 EF 代码)在我的模型中我有 -

[DisplayFormat(DataFormatString = "{0:0.##}")]
[Display(Name = "Salary")]
public Decimal Salary { get; set; }

当我查看我的数据库时,它似乎已正确保存。我可以看到值为 50000.00,列是 Salary (decimal(18,2),not null)

但是在我看来,当我尝试显示此值时,它显示为 0.00

视图中的代码是

<tr>
    <td>Salary</td>
    <td>@Html.DisplayFor(x => x.Salary)</td>
</tr>

知道为什么它显示的是 0.00 而不是 50000.00?

【问题讨论】:

  • 你能发布你的控制器代码吗? (或显示您如何从数据库中检索实体以及您对视图的操作的位)
  • 如果您将DataFormatString 更改为0:0.00## 会发生什么?
  • Jaimal - 谢谢,我在控制器中有拼写错误,更正它解决了我的问题。 :)

标签: .net asp.net-mvc asp.net-mvc-4 razor data-annotations


【解决方案1】:

试试

[DisplayFormat(DataFormatString = "{0:n2}")]

还可以通过测试或不带格式打印到屏幕上来确认控制器中有实际值,即@Model.Salary

【讨论】:

  • @MartinMcMahon 你确认那里有价值吗?我已经在你输入的时候更新了答案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-21
  • 2018-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多