wpf - 使用小数分隔符格式化 XAML 中的值?

我在 XAML 代码中格式化 double 值时遇到了一点问题。

double price = 10300.455;

此数字在美国系统上应显示为 10,300.45,在德国系统上应显示为 10.300,45

到目前为止,我设法通过以下方式限制了数字。

Binding="{Binding price, StringFormat=F2}"

但结果是 10300.45,这不是我的想法。我可以使用转换器轻松解决此问题,但如果有其他方法,我不想这样做。恰到好处的格式化程序就可以了。

最佳答案

Binding="{Binding price, StringFormat=N2}" 

尝试 N 而不是 FN 为数字格式,根据不同的文化,自动显示数字格式。查看下面的示例代码,它是一个控制台应用程序。但是,如果绑定(bind)使用正确的区域性,您将获得正确的值。 F2 是定点符号。

    double price = 10300.455;

    Console.WriteLine(price.ToString("N2", 
        CultureInfo.CreateSpecificCulture("de-DE") ));
    // displays 10.300,46

    Console.WriteLine(price.ToString("N2",
        CultureInfo.CreateSpecificCulture("en-US") ));
    // displays 10,300.46

https://stackoverflow.com/questions/1968632/

相关文章:

java - 将属性保存在 JAVA 格式的文件中

excel - 使用VBA将单元格值从一个单元格复制到另一个单元格

java - java中的数字格式使用Lakh格式而不是百万格式

c# - 使用 .NET 格式化大数

javascript - jQuery 如何继续 Javascript 到新行?

python - 在 Python 中使用 LaTeX 表示法格式化数字

php - 正则表达式 - 去除非数字并删除美分(如果有)

java - 格式字符串变为 xxx1、xx10 或 1###、10## 等

string - 如何在 Haskell 中填充整数的字符串表示形式?

javascript - Highcharts:共享工具提示格式化程序 this.points[i]