在@ViewBag中将十进制数格式化为货币形式

3

我在视图中这样调用十进制数:

@ViewBag.CalculatePrice

我该如何格式化表示 $xxx.xx 的内容?

CalculatePrice 只是一个类中的 public decimal CalculatePrice() { //执行计算 } 方法。

谢谢。


我真的不太明白这里在问什么,如何限制为两个浮点数?如何添加$前缀?无论如何,我认为这不是一个asp.net-mvcrazor问题。 - gdoron
2个回答

7
你可以将其显式转换为decimal; 然后你就可以将它视为静态类型。
@(((decimal)ViewBag.CalculatePrice).ToString("C2"))

如果您想知道如何为十进制数指定格式,请参考.NET标准数字格式字符串的参考文档。


编辑:我认为“C2”更符合您的要求。 - Justin Morgan
它已经是十进制数了,所以 @((ViewBag.CalculatePrice).ToString("C2")) 就可以正常工作了。谢谢,我无法掌握格式。 - REMESQ

1

你只需要使用String.Format。我有点困惑,因为这似乎太明显了。

你在控制器中分配了ViewBag.CalculatePrice吗?


1
有点太微妙了,事实上。@JustinMorgan的答案是正确的。我无法正确地掌握格式。 - REMESQ

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接