0

目标

我想正确格式化数据库中的货币。

问题

我正在用这个格式化数据库中的货币:

@String.Format("{0:C}", @Model["MinProductPrice"])

问题是:150必须是1,50,而不是150,00——这种格式就是这样做的。

我的情况正确的格式类型是什么?

4

3 回答 3

2

您可能想先将数字除以 100(记得更改类型),所以150变成1.50,它会"1,50"根据语言环境转换为:

@String.Format("{0:C}", @Model["MinProductPrice"] / 100.0m)
于 2013-06-13T19:08:54.853 回答
2

我会将我的评论扩展到答案,我认为这更合适。我认为您应该将列类型更改为货币或小数类型,以通过使列的使用更加明显来防止错误。您页面上的输出将是正确的,并且不需要任何“幻数”即可正确打印出来。

只是一个注释,但您也可以这样做打印一个货币字符串:

@Model["MinProductPrice"].ToString("C")
于 2013-06-13T20:01:43.213 回答
-1

我将铸造责任归因于数据库。我正在使用 MySQL,查询是这样的:

ROUND(CAST(MIN(`map`.`Product_Price`) AS DECIMAL)/100,2) as `minProductPrice`

无论如何,我要感谢jlafaycsharpler关于他们的回答——他们对我很有帮助并且工作得很好。

于 2013-06-13T20:13:01.983 回答