我使用以下格式化列值(绑定到十进制类型的值?):
[DisplayFormat(DataFormatString = "{0:N2}")]
我现在想将其更改为以下格式:
[DisplayFormat(DataFormatString = "{0:#,###.00##}")]
但是,这不是语言环境独立的,因为我很难编码十进制和数字分隔符。基本上,我想显示一个带有适当的数字和小数分隔符的字符串。此外,我希望小数分隔符后最少两个零,最多4个零。 是否可以在编译时?
指定这样的字符串答案 0 :(得分:7)
但是,这不是语言环境独立的,因为我很难编码十进制和数字分隔符
不,你不是;格式说明符.
和,
分别表示“小数分隔符”和“千位分隔符”,而不是文字逗号和句点。它应该正常工作。例如,fr-FR文化中的'#,###。00 ##'应为“1 234,56”:
var culture = CultureInfo.GetCultureInfo("fr-fr");
decimal d = 1234.56M;
string s = d.ToString("#,###.00##'", culture); // "1 234,56"