2009-12-28 34 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

相關問題