假设我的号码是1234567.89.该数字显示在
WPF TextBlock中.我试图将StringFormat属性应用于Text属性,以便显示如下数字:
1.234.567,89
如您所见,千位和小数分隔符与不变文化规范相反.
我已经尝试为StringFormat设置多种组合,但没有成功.这是我提出的最新消息:
Text="{Binding SomeBinding,StringFormat={}{0:#'.'##0','00}}"
但输出不正确.此外,使用N2或改变文化不是一种选择.如果可能的话,我想避免使用转换器.
那么,有没有办法通过XAML更改默认分隔符?
解决方法
你不必改变文化.只需使用具有指定文化的
String.Format
(de-DE应该没问题):
string output = String.Format(new CultureInfo("de-DE"),"{0:N}",yourDoubleValue);
产量:9.164,32
如果你想在XAML中做,你可以尝试:
Text="{Binding SomeBinding,StringFormat={}{0:N},ConverterCulture=de-DE}"