c#-在格式字符串的右侧将货币对齐
作者:互联网
我的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)”.但是,该页面上的更详细的内容是货币格式.隐藏在该链接中:
> 0结果为$n
> 1个结果为n $
> 2个结果为$n
> 3结果在n $
因此,您需要货币模式1或3.现在,您需要找到某种方法将其放入DisplayFormat属性,希望有一种方法可以实现.如果不是,应该容易地对其进行子类化并重写tostring方法以允许传入货币模式(除非它是密封类,在这种情况下为毛额).
标签:data-annotations,c 来源: https://codeday.me/bug/20191029/1957862.html