编程语言
首页 > 编程语言> > c#-在格式字符串的右侧将货币对齐

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)”.但是,该页面上的更详细的内容是货币格式.隐藏在该链接中:

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方法以允许传入货币模式(除非它是密封类,在这种情况下为毛额).

标签:data-annotations,c
来源: https://codeday.me/bug/20191029/1957862.html