2010-07-02 41 views
17

Làm cách nào để định dạng giá trị thập phân có điều kiện trong cửa sổ WPF?WPF ràng buộc StringFormat cú pháp

  1. Giá trị nên được làm tròn đến một số nguyên (Ex: 1.234)
  2. Khi giá trị là 0,00, nó sẽ hiển thị như một số không duy nhất. (Ví dụ: 0)

Hiện tại tôi sử dụng dấu dưới để định dạng giá trị thập phân, nhưng nó hiển thị 00 khi giá trị là 0,00. Hãy giúp tôi.

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

Bạn có thể tìm hiểu tại đây. Điều này sẽ giúp bạn http://www.kunal-chowdhury.com/2011/05/formatting-text-in-silverlight-xaml.html – R76

Trả lời

50

Số 0 bổ sung tính từ 0 sau dấu hai chấm. Thay vào đó, hãy thử {}{0:#,0}.

Từ MSDN docs on Custom Numeric String formats (nhấn mạnh thêm):

"0" | Zero giữ chỗ | Thay thế số không bằng chữ số tương ứng nếu có; nếu không, số không xuất hiện trong chuỗi kết quả.

+1

Cảm ơn, công trình này hoạt động – m00sila

+13

Tuyệt. Vui lòng đánh dấu phần này là câu trả lời để những người khác có thể hưởng lợi. Và vì vậy tôi nhận được điểm của mình. ;) – codekaizen

+1

bất kỳ ý tưởng nào về cách bạn có thể đánh dấu các không gian để giữ số ở vị trí của chúng (nghĩa là chúng không thay đổi khi số thay đổi)? Nội dung của tôi là trung tâm, vì vậy việc dịch chuyển là gây phiền nhiễu. Sử dụng một cái gì đó như {0: 00000.0} hoạt động, nhưng 0s hàng đầu là ngớ ngẩn. Tôi đã thử #### 0.0, nhưng điều đó không giữ được phần đệm. OP không đánh dấu câu trả lời này là câu trả lời nhưng tôi đã cung cấp cho bạn +1. :) – Dave

Các vấn đề liên quan