在格式字符串上将货币右对齐
本文关键字:货币 右对齐 格式 字符串 | 更新日期: 2023-09-27 18:21:36
我的 C# 代码中有一个DisplayFormat
,如下所示:
[DisplayFormat(DataFormatString = "{0:C0}")]
输出就像:USD 50
但是我怎样才能更改此显示格式以显示:50 USD
?右边有货币符号?
本页列出了可用于货币的所有自定义字符串格式,MSDN 上也有很多指向其他格式字符串页面的链接:
http://msdn.microsoft.com/en-us/library/dwhawy9k(v=vs.110(.aspx
具体来说,看起来你想要[DisplayFormat(DataFormatString = "{0:0C}")]
?这似乎太简单了,你已经尝试过了吗?
---编辑---
好吧,认为这太简单了。 C0
意味着"打印数字(小数点后0
位(,然后是货币(C
("。但是,在该页面的下方是货币模式的更多细节。埋藏在那个链接中的是:
http://msdn.microsoft.com/en-us/library/system.globalization.numberformatinfo.currencypositivepattern(v=vs.110(.aspx
- 0 结果在$n
- 1 结果 n$
- 2 个结果 $ n
- 3 结果在 n $
因此,您需要货币模式 1 或 3。现在你需要找到一些方法来把它放到DisplayFormat
属性中,希望有一种方法可以做到这一点。如果没有,应该很容易对其进行子类化并重写 tostring 方法以允许传入货币模式(除非它是 sealed
类或其他东西,在这种情况下,是 gross(。