2010-07-02 4 views
17

Jak sformatować wartość dziesiętną warunkowo w oknie WPF?Powiązanie WPF StringFormat Składnia

  1. Wartość powinna być zaokrąglona do liczby całkowitej (np 1,234)
  2. Gdy wartość wynosi 0.00, należy go wyświetlić w postaci pojedynczego zera. (Np .: 0)

Obecnie używam znaku poniżej do formatowania wartości dziesiętnej, ale wyświetla 00, gdy wartość wynosi 0.00. Proszę pomóż.

<TextBlock 
    Grid.Column="6" 
    Padding="2" 
    Text="{Binding Path=TotalAwardsExpended, StringFormat='{}{0:0,0}'}" /> 
+0

Możesz dowiedzieć się tutaj. To pomoże Ci http://www.kunal-chowdhury.com/2011/05/formatting-text-in-silverlight-xaml.html – R76

Odpowiedz

50

Dodatkowe 0 pochodzi z 0 po dwukropku.

Zamiast tego spróbuj {}{0:#,0}.

Z MSDN docs on Custom Numeric String formats (podkreślenie dodane):

"0" | Zero placeholder | Zastępuje zero odpowiednią cyfrą, jeśli jest obecna; w przeciwnym razie zero pojawi się w ciągu wynikowym.

+1

Dzięki, działa – m00sila

+13

Cool. Możesz to zaznaczyć jako odpowiedź, aby inni mogli skorzystać. I tak dostaję moje punkty. ;) – codekaizen

+1

każdy pomysł, w jaki sposób można spacji, aby zachować numery na swoich miejscach (tj. Tak, aby nie zmieniać w miarę zmiany liczby)? Moje treści są wyśrodkowane, więc zmiana jest denerwująca. Używanie czegoś podobnego do {0: 00000.0} działa, ale wiodące 0 są głupie. Próbowałem #### 0.0, ale to nie zachowało dopełnienia. OP nie oznaczył tego jako odpowiedzi, ale dałem ci +1. :) – Dave