10 Vb.Net działania arytmetyczne i konwersja danych

 Konwersja danych


Poznaliśmy już operatory, więc to będzie dobre miejsce, aby pokazać jak one działają.  Najpierw jednak kilka słów o konwersji typów danych. Jest kilka rodzajów funkcji konwertujących dostępnych w Visual Basic .Net. Ja natomiast pokaże wam ten rodzaj ,z którego będziemy korzystać w dalszych częściach naszego poradnika.
Napiszmy kod:
        Dim value As String
        Dim value2 As Integer
        value = TextBox1.Text
        value2 = CInt(value))
Teraz kilka słów wyjaśnień dla każdej linii kodu:
  1. deklaracja zmiennej value typu String
  2. deklaracja zmiennej value2 typu Integer
  3. przypisanie tej zmiennej ciągu String z TextBox'a
  4. tu następuje konwersja: zmienna value jest równa przekonwertowanej wartości value na typ Integer
Jeśli więc do TextBox'a wpiszemy ciąg "158" to konwersja zamieni łańcuch tekstowy na typ Integer. Jeśli przytrafi nam się jednak, że w TextBox'ie zamiast cyfr wpisane będą litery to program zgłosi błąd i się wyłączy. Dlatego pisząc instrukcje konwertujące dane na inne typy warto umieszczać je w bloku Try Catch.
 Poniżej w tabeli przedstawię zestawienie funkcji konwersji typów danych:
Funkcja Konwersja na:
CBool Boolean
CByte Byte
CChar Char
CDate Date
CDbl Double
CDec Decimal
CInt Integer
CLng Long
CObj Object
CSByte SByte
CShort Short
CSng Single
CStr String
CUInt UInteger
CULng ULong
CUShort UShort


Działania arytmetyczne

Za pomocą dwóch TextBox'ów, Button'a i Label'a wykonamy sobie proste obliczenia arytmetyczne.
Żeby wam naocznie pokazać czemu stosujemy konwersje dodajmy do Button'a kod:
        Dim value As Integer
        value = TextBox1.Text + TextBox2.Text
        Label1.Text = value
wpisujemy do TextBox'ów cyfre 5, wciskamy przycisk i co się stało ? połączyliśmy łańcuchy tekstowe z obu TextBox'ów i w wyniku tego Label wyświetlił nam 55. Ale my nie chcieliśmy dodawać łańcuchów tekstowych, tylko liczby ! No to musimy nasz program poinstruować, że mamy taki zamiar. Napiszmy zatem odpowiedni kod:
        Dim value As Integer
        value = CInt(TextBox1.Text) + CInt(TextBox2.Text)
        Label1.Text = value)
I co się tutaj stało ? Nasze łańcuchy z TextBox'ów przekonwertowaliśmy na liczby. Teraz naciskając na Button, Label wyświetla nam spodziewaną wartość z dodawania dwóch liczb - czyli 10. Dodawanie więc mamy już za sobą.

Wykonajmy teraz mnożenie liczb naturalnych w podobny sposób:
        Dim value As Integer
        value = CInt(TextBox1.Text) * CInt(TextBox2.Text)
        Label1.Text = value
Label będzie nam wyświetlał wynik mnożenia

Spróbujmy więc wykonać dzielenie w podobny sposób:
        Dim value As Integer
        value = CInt(TextBox1.Text) / CInt(TextBox2.Text)
        Label1.Text = value
Wykonujemy dzielenie np 5/4 i co się dzieje ? gdzie się podziała reszta z dzielenia ? nie ma? no i nie będzie! bo przecież zmienna Integer nie obsługuje liczb zmiennoprzecinkowych tylko całkowite. Do tego celu wartość value musimy przekonwertować na typ Single, wtedy reszta z dzielenia będzie wyświetlała się w Label. Wypróbujmy więc kod:
        Dim value As Single
        value = CSng(TextBox1.Text) / CSng(TextBox2.Text)
        Label1.Text = value

Podobne działania arytmetyczne możemy wykonywać na wszystkich operatorach arytmetycznych.
Mam nadzieje, że jest to dla was zrozumiałe, jeśli nie to nic straconego, po pewnym czasie wszystko się zacznie klarować.

Następne poradniki będą już bardziej nastawione na praktyczne programowanie.


Utworzono 09.09.2015

Brak komentarzy:

Prześlij komentarz