Veri tipi nedir? Degiskenlerin tuttuklari değerlerin türünü ve bellekte tutulacak büyüklügünü tanimlar. Degiskenleri veri tipleri ile tanimlarken verinin büyüklügüne göre bir veri tipi seçilmelidir.
Veri Tipi |
Büyüklük |
Boolean |
2 byte |
Byte |
1 byte |
Char |
2 byte |
Date |
8 byte |
Double |
8 byte |
Decimal |
16 byte |
Int16 (Short) |
2 byte |
Int32 (Integer) |
4 byte |
Int64 (Long) |
8 byte |
Single |
4 byte |
String |
|
Double ve Single veri tiplerinin araliginda belirtilen “E + sayi” ifadesi, 10 ^ sayi ile çarpilacagini belirtir. Örnegin 12 E-3 ifadesi, 12 * 0.001 anlamina gelir.
-1.2E-10 = -0.00000000012
-1.2E+10 = -12000000000.0
0.7432E+2 = 74.32
7432E-3 = 7.432
Örnek Uygulamamiz;
Yeni proje açtiktan sonra asagidaki gibi formumuza 11 adet label yerlestirelim.

Form un bos bir yerinde çift tiklayarak kod kismina geçelim.
Kod kismina asagidaki gibi dolduralim.
Dim yazi As String = "Veri Tipleri Örnek Uylamamiz"
Dim bool As Boolean = True
Dim karakter As Char = "A"
Dim tarih As Date = #4/5/2007#
Dim numerik As Decimal = -123456789
Dim cift As Double = -1.234E-120
Dim tek As Single = 3.32E+100
Dim bayt As Byte = 255
Dim kisaSayi As Short = -32000
Dim tamSayi As Integer = 2000000000
Dim uzunSayi As Long = -123456789123456789
Label1.Text = yazi
Label2.Text = bool
Label3.Text = karakter
Label4.Text = tarih
Label5.Text = numerik
Label6.Text = cift
Label7.Text = tek
Label8.Text = bayt
Label9.Text = kisaSayi
Label10.Text = tamSayi
Label11.Text = uzunSayi
Daha sonrada F5 ile projemizi çalistiralim.
Uygulamalar çalisirken, çogu zaman veri tipleri birbirlerine otomatik olarak dönüstürülür.
Örnek olarak InputBox geriye String tipinde bir değer döndürür. Ancak kullanici mesaj kutusuna sayi girerse ve biz bu değeri Integer tipinde bir degiskene atarsak, veri dönüstürme işlemi yapilir. Buna Implicit Conversion (kapali dönüstürme) denir.
Dim Sayi As Integer
Sayi = InputBox("Sayi giriniz")
Büyük veri tiplerinden küçük veri tiplerine dönüsüm sirasinda, değer kayiplari meydana gelebilmektedir. Örnek olarak Single tipinden Short tipine yapilacak bir dönüsümde virgülden sonraki sayilar kaldirilacaktir.
Dim virgullu As Single = 1.12
Dim kisaSayi As Short = virgullu ' kisaSayi degiskenin son değeri 1 olur
Bu arada Option Strict seçenegi On olarak ayarlanirsa, Implicit Conversion işlemine izin verilmez.
Veri dönüstürme işlemlerinin kapali olarak yapilmasi sisteme birakilmistir. Bu işlemde kodlarin tekrar okunmasi sirasinda dönüstürme işlemleri gözden kaçabilir ve değer kayiplari fark edilmez. Bu durumda dönüstürme işlemleri hazir fonksiyonlar ile açik olarak yapilmalidir. Buna Explicit Conversion (açik dönüstürme) denir.
Dim rastgeleSayi As Double = Rnd() * 30
MsgBox(rastgeleSayi)
Dim rastgeleTamSayi As Integer = CInt(rastgeleSayi)
MsgBox(rastgeleTamSayi)
Explicit Conversion fonksiyonlari:
* CStr. Verilen değeri String tipine dönüstürür.
* CInt. Integer veri tipinin alabilecegi değerler arasinda girilen sayilari Integer tipine dönüstürür.
* CDbl. Double veri tipinin alabilecegi değerler arasinda girilen sayilari Double tipine dönüstürür.
* CDate. Dogru tarih ve saat biçimde yazilmis herhangi bir ifadeyi Date tipine dönüstürür.
* CLng. Long veri tipinin alabilecegi değerler arasinda girilen sayilari Long tipine dönüstürür.
* CSng. Single veri tipinin alabilecegi değerler arasinda girilen sayilari Single tipine dönüstürür.
* CDec. Decimal veri tipinin alabilecegi değerler arasinda girilen sayilari Decimal tipine dönüstürür.
Sayi dönüstürme fonksiyonlari, True Boolean tipini -1, False Boolean tipini 0 olarak dönüstürür. Ayrica tüm fonksiyonlar, düzgün biçimde verilmis String tipinde degiskenleri de ilgili veri tipine degistirir.
Dim sayi As Integer = CInt("12345abc")
' InvalidCastException hatasi olusur.
Baska makalede görüşmek üzere..