如何从数据库格式化货币
本文关键字:格式化 货币 数据库 | 更新日期: 2023-09-27 18:18:30
目标
我想从数据库中正确格式化货币。
我正在格式化数据库中的货币:
@String.Format("{0:C}", @Model["MinProductPrice"])
问题是:150
必须是1,50
,而不是150,00
-而这种格式正在这样做。
我的情况下正确的格式类型是什么?
您可能希望首先将数字除以100(记住更改类型),因此150
变为1.50
,根据区域设置将其转换为"1,50"
:
@String.Format("{0:C}", @Model["MinProductPrice"] / 100.0m)
我将把我的评论扩展成一个答案,我认为这样更合适。我认为您应该将列类型更改为货币或十进制类型,以便通过更明显地使用列来防止错误。您在页面上的输出将是正确的,并且不需要任何"幻数"来使其正确打印。
只是一个提示,但你也可以打印一个货币字符串,这样做:
@Model["MinProductPrice"].ToString("C")
我把cast的责任归于数据库。我使用MySQL,查询是这样的:
ROUND(CAST(MIN(`map`.`Product_Price`) AS DECIMAL)/100,2) as `minProductPrice`
无论如何,我要感谢jlafay和charsharpler的回答,他们非常有帮助,对我很有帮助。