Cześć, mam program napisany w C# WPF gdzie występuje zmienna typu double, która wyświetla liczbę kilka miejsc po przecinku w kontrolce TextBlock. Chciałbym ograniczyć liczbę wyświetlanych miejsc po przecinku do dwóch.
O ile wiem jak takie ograniczenie zrobić w przypadku konsoli to nie wiem jak to zastosować w przypadku WPFa i wyświetlania tej zmiennej liczbowej w kontrolne TextBlocku.
double pi=3.14159265;
string disp=pi.ToString("F4");
Albo tak:
public MainWindow()
{
InitializeComponent();
LiczbaDoWyswietlenia();
}
public void LiczbaDoWyswietlenia()
{
double liczba = 10.123456789;
tbx.Text = Math.Round(liczba,2).ToString();
}
gdzie tbx jest textBlockiem.
Jeśli wiesz jak to zrobić w konsoli to wiesz jak to zrobić w WPF. Musisz to tylko wyświetlić.
A jeżeli używa się data binding (w końcu to WPF) to jakoś tak:
<TextBlock Text="{Binding Liczba, StringFormat='{0:F2}'}" />
Dziękuję bardzo za pomoc. Przetestowałem wszystkie podpowiedzi ale ostatecznie zastosowałem w programie podpowiedz nick_nick.
Założyłem, że aby w profesjonalnym dewelopmencie w ogóle spojrzeli na XyzTextComponent, musi mieć sterowanie mask/picture/pattern (tak się milion lat temu robiło) lub analogiczne.
Taki, który nie tylko będzie pracował na wyjściu, ale i PRZEDE WSZYSTKIM na wejściu
Bez tego taki komponent nawet nie będzie użyty w korporacyjnym programowaniu.
Taki kanon, must have - choć nie znam WPF
na pierwszy rzut oka się nie pojawia, ale jak pogłębić, znalazłem
https://docs.microsoft.com/en-us/windows/communitytoolkit/extensions/textboxregex
https://stackoverflow.com/questions/1268552/how-do-i-get-a-textbox-to-only-accept-numeric-input-in-wpf
https://www.google.com/search?q=c%23+wpf+text+field+with+pattern