我的C#代码中有DisplayFormat
,如下所示:
[DisplayFormat(DataFormatString = "{0:C0}")]
输出就像:USD 50
但是,如何更改此显示格式以显示:50 USD
?右边是货币符号吗?
答案 0 :(得分:4)
此页面列出了可用于货币的所有自定义字符串格式,还有很多指向msdn上其他格式字符串页面的链接:
http://msdn.microsoft.com/en-us/library/dwhawy9k(v=vs.110).aspx
具体来说,看起来你想要[DisplayFormat(DataFormatString = "{0:0C}")]
?这几乎看起来太简单了,你已经尝试过了吗?
---编辑---
好的,这太简单了。 C0
表示“打印号码(小数点0
},然后是货币(C
)”。但是,在该页面的更下方是货币模式的更具体细节。埋藏在这个链接:
所以你想要货币模式1或3.现在你需要找到一些方法将它放入DisplayFormat
属性,希望有办法做到这一点。如果没有,应该很容易对它进行子类化并覆盖tostring方法以允许传入货币模式(除非它是sealed
类或其他东西,在这种情况下,粗略)。