假设我的数字 1234567.89 。该数字显示在WPF TextBlock中。我正在尝试将StringFormat
属性应用于Text
属性,以便显示的数字如下:
1.234.567,89
如您所见,千位和小数分隔符与不变文化规范相反。
我尝试为StringFormat
设置多种组合,但没有成功。这是我提出的最新消息:
Text="{Binding SomeBinding, StringFormat={}{0:#'.'##0','00}}"
但输出不正确。此外,使用N2
或改变文化不是一种选择。如果可能,我想避免使用转换器。
那么,有没有办法通过XAML更改默认分隔符?
答案 0 :(得分:9)
您无需更改文化。只需使用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}"