使用小数分隔符在XAML中格式化值?

Tal*_*ode 8 wpf formatting xaml numbers

我在XAML代码中格式化双值有一点问题.

double price = 10300.455;
Run Code Online (Sandbox Code Playgroud)

这个数字应显示为10,300.45美国系统和10.300,45德国系统.

到目前为止,我设法用以下内容限制数字.

Binding="{Binding price, StringFormat=F2}"
Run Code Online (Sandbox Code Playgroud)

但结果是10300.45,这不是我的想法.我可以使用转换器轻松解决这个问题,但如果还有其他方法,我不想这样做.恰到好处的Formatter会很好.

Aka*_*ava 21

Binding="{Binding price, StringFormat=N2}" 
Run Code Online (Sandbox Code Playgroud)

尝试N而不是F.N数字格式,基于不同的文化,自动显示数字格式.查看下面的示例代码,它是一个控制台应用程序.但是,如果绑定使用正确的文化,您将获得正确的值.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
Run Code Online (Sandbox Code Playgroud)

  • 这些格式有参考文档吗? (2认同)

Jes*_*ter 5

对于任何想知道有关字符串格式的不同构建及其用法的信息,可以在这里看到:

http://msdn.microsoft.com/en-us/library/dwhawy9k(v=vs.100).aspx