2009-12-28 35 views
8

我在我的XAML代码中格式化double值时遇到了一些问题。使用小数点分隔符在XAML中格式化值?

double price = 10300.455; 

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

到目前为止,我设法限制以下数字。

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

但结果是10300.45,这是不是我的初衷。我可以使用转换器轻松解决这个问题,但如果有其他解决方法,我不想这样做。只要合适的Formatter就没问题。

回答

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

尝试N而不是FN是数字格式,它根据不同的文化,自动显示数字格式。看下面的示例代码是一个控制台应用程序。但是,如果绑定使用正确的文化,你会得到正确的价值。 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 
+2

是否有这些格式的参考文档? – 2011-08-08 16:46:03

相关问题