Łańcuch formatujący ToString()
Cel: Napisz aplikację, która poda wynik z dzielenia do zadanej ilości miejsc po przecinku
Argumenty łańcucha formatującego- działanie jest zgodne z ustawieniami regionalnymi sytemu. Na przykład w Polsce standardowo symbol waluty ustawiony jest na zł, co oznacza, że użycie łańcuch formatującego walutę przypisze automatycznie do wartości symbol waluty.
Przykładowy kod
float c=2.45f
label1.Text=c.ToString("C")
Spowoduje wyświetlenie w komponencie label1 tego tekstu: 2,45 zł
Zawartość | Działanie |
C | wartość liczbowa jest przedstawiana z symbolem waluty 2,45zł |
Dn | liczba całkowita konwertowana jest do podanej ilości cyfr np. parametr D8 spowoduje, że wartość 45 przedstawiona będzie jako 00000045 |
En | liczba przedstawiona jest w notacji naukowej np. parametr E5 liczbę 234 przedstawi jako 2,34000E+002 |
Fn | liczba przedstawiona jest do podanej ilości miejsc po przecinku np. parametr F3 liczbę 12,3 przedstawi jako 12,300 |
Nn | liczba będzie przedstawiona z separatorem rzędów wielkości i podaną ilością miejsc po przecinku np. parametr N2 liczbę 2342354 przedstawi jako 2 342 354,00 |
P | liczba przedstawiona jest jako procent np. parametr P liczbę 0.123 przedstawi jako 12,30% |
Xn | liczba zostanie przedstawiona w systemie szesnastkowym (n oznacza ilość cyfr w reprezentacji) np. parametr X5 liczbę 234 przedstawi jako 000EA |
Krok 1. Układ komponentów
Na formatce umieścimy poniższe komponenty
- Label- sztuk 5
- TextBox- sztuk 3
- Button- sztuk 2
Krok 2. Wypełniamy właściwość Text poszczególnych komponentów
Krok 3. Deklaracja zmiennych
Realizacja postawionego zadania wymaga podania co najmniej dwóch zmiennych typu rzeczywistego (float) Zmienne typu rzeczywistego użyjemy do przechowywania licznika i mianownika. Odczyt i zastosowanie zadanej ilości miejsc po przecinku wykorzystamy bezpośrednio z właściwości Text.
Zmiennym nadamy zakres prywatny w klasie tworzonej formatkipublic partial class Form1 : Form
{
private float x, y;
public Form1()
Krok 4. Formatujemy wynik- działanie klawisza Podziel
Aplikacja nie jest zabezpieczona przed wprowadzeniem błędnych danych, stąd przed wykonaniem dzielenia należy zwrócić uwagę czy nie dzielimy przez zero oraz czy pola tekstowe zawierają wprowadzone wartość. Brak wprowadzenia wartości będzie wywoływać błąd konwersji danych
Przykładowy kod formatowania wyniku i ilustracja jego działania
private void Button1_Click(object sender, EventArgs e)
{
x = (float)Convert.ToDouble(textBox1.Text);
y = (float)Convert.ToDouble(textBox2.Text);
label4.Text = "Wynik: " + (x / y).ToString();
label5.Text = "Format: " + (x / y).ToString("F"+textBox3.Text);
}
Powyższy kod przedstawia wynik dzielenia dwóch liczb w sposób niesformatowany i sformatowany. Parametr formatowania jest argumentem funkcji ToString() i podajemy go z godnie ze standardem podanym w przedstawionej tabeli argumentów łańcucha formatującego
Ćwiczenie sprawdzające
1. Sprawdź działanie pozostałych argumentów łańcucha formatującego