Típuskonverziós függvények

Típuskonverziós függvények

    Dim As String
    Private Sub 
Button1_Click(ByVal sender As System.ObjectByVal As System.EventArgs) Handles Button1.Click
        x 
CStr(CInt(Val(TextBox1.Text)) + CInt(Val(TextBox2.Text)))
        
MsgBox("Eddig Ön " & x & " kutyát nevezett meg", , "Kutyák")
    
End Sub

Elméleti alapok


Egy érték egyik adattípusról egy másik adattípusra változtatásának folyamatát konverziónak nevezik. A konverziók a muveletben részt vevo típusok adatábrázolási kapacitásától függoen bovíto vagy szukíto jelleguek lehetnek. A közös nyelvi futtatókörnyezet mind a bovíto, mind a szukíto konverziókat támogatja. Például egy 
32 bites elojeles egészként (signed integer) ábrázolt érték 64 bites elojeles egészre konvertálható. Ez egy bovíto konverzió. Az ellenkezo irányú konverzió (64 bitrol 32 bitre) pedig a szukíto konverzió egy példája. A bovíto konverziók nem járnak információveszteséggel, a szukíto konverzióknál azonban információveszteség léphet fel.

A Visual Basic .NET és a Visual Basic 
2005 nyelv az alábbiakban ismertetett típuskonverziós függvényeket definiálja:

CBool

A CBool függvény karakterlánc- és numerikus kifejezéseket konvertál 
Boolean (logikai) értékre. Ha a kifejezés értéke nullától eltéro, a CBool függvény a True értékkel tér vissza, ellenkezo esetben eredménye False.

CBool példa:
Dim A, B, C As Integer
Dim 
Ellenorzes As Boolean
5
5
Ellenorzes CBool(A B)   ' Az Ellenorzes értéke True lesz.
0
Ellenorzes CBool(C)   ' Az Ellenorzes értéke False lesz.

CByte 

CByte függvény bájttá konvertál egy megadott számot. Ha a bemeneti argumentum nem és 255 közötti szám, a függvény System.OverflowException kivételt generál.

CByte példa: Dim SajatDouble As Double
Dim 
SajatByte As Byte
SajatDouble 125.5678
SajatByte = CByte(SajatDouble)   ' SajatByte értéke 126 lesz.

CChar

A CChar függvény csak a megadott 
String elso karakterét konvertálja. A CChar függvény bemeneti argumentumának karakterlánc típusúnak kell lennie. Mivel a CChar függvény numerikus adatot nem tud argumentumaként fogadni, a CChar függvénnyel szám nem konvertálható karakterré.

CChar példa:

A példa a CChar függvény segítségével egy karakterlánc-kifejezés elso karakterét Char típusra konvertálja. 
Dim SajatString As String
Dim 
SajatChar As Char
SajatString 
"BCD"   ' A CChar csak a karakterlánc elso karakterét konvertálja.
SajatChar CChar(SajatString)   ' SajatChar értéke "B" lesz.

CDate

CDate argumentumként dátumok és idopontok bármely érvényes reprezentációját elfogadja, és Date (dátum) adattípusra konvertálja.

CDate példa:

A példa a 
CDate függvény használatával karakterláncokat konvertál Date értékekké. Dim SajatDatumKarakterlanc, SajatIdopontKarakterlanc As String
Dim 
SajatDatum, SajatIdopont As Date
SajatDatumKarakterlanc "February 12, 1969"
SajatIdopontKarakterlanc "4:35:47 PM"
' ...
SajatDatum = CDate(SajatDatumKarakterlanc)   ' Konvertálás a Date adattípusra.
SajatIdopont = CDate(SajatIdopontKarakterlanc)   ' Konvertálás Date adattípusra.

CDbl 

A CDbl függvény egy numerikus kifejezést konvertál 
Double típusra. A függvény bemeneti argumentumának negatív érték esetén -4,94065645841247E-324 és -1,79769313486231E+308 közé kell esni, pozitív érték esetén 1,79769313486231E+308 és 4,94065645841247E-324 közé.

CDbl példa:
Dim SajatDec As Decimal
Dim 
SajatDouble As Double
SajatDec 234.456784D    ' A D literáltípus-karakter használata miatt SajatDec Decimal típusú lesz.
SajatDouble CDbl(SajatDec * 8.2D * 0.01D)   ' Az eredmény konvertálása Double típusra.

CDec 

A CDec függvény az argumentumként kapott numerikus érték decimális értékké konvertálására szolgál. 

CDec példa: 
Dim SajatDouble As Double
Dim 
SajatDecimal As Decimal
SajatDouble 10000000.0587
SajatDecimal CDec(SajatDouble)   ' Konvertálás Decimal típusra.

CInt 

CInt függvény egész számmá konvertál egy numerikus értéket. 

CInt példa:Dim SajatDouble As Double
Dim 
SajatInt As Integer
SajatDouble 2345.5678
SajatInt = CInt(SajatDouble)   ' SajatInt értéke 2346 lesz.

CLng 

CLng függvény az argumentumaként kapott numerikus értéket Long értékké konvertálja. 

CLng példa:Dim SajatDbl1, SajatDbl2 As Double
Dim 
SajatLong1, SajatLong2 As Long
SajatDbl1 
25427.45
SajatDbl2 25427.55
SajatLong1 = CLng(SajatDbl1)   ' SajatLong1 a 25427 értéket tartalmazza.
SajatLong2 = CLng(SajatDbl2)   ' SajatLong2 a 25428 értéket tartalmazza.

CObj 

A CObj függvény 
Object típusra konvertál egy numerikus értéket. 

CObj példa:
Dim SajatDouble As Double
Dim 
SajatObject As Object
SajatDouble 2.7182818284
SajatObject CObj(SajatDouble)   ' A SajatObject a Double értékre mutat.

CShort 

A CShort függvény Short adattípusra konvertál egy numerikus értéket.

CShort példa: 
Dim SajatByte As Byte
Dim 
SajatShort as Short
SajatByte 
100
SajatShort CShort(SajatByte)   ' Short típusra konvertálás.

CSng 

CSng függvény Single típusra konvertálja az argumentumában kapott numerikus értéket. 

CSng példa: Dim SajatDouble1, SajatDouble2 As Double
Dim 
SajatSingle1, SajatSingle2 As Single
SajatDouble1 75.3421105
SajatDouble2 75.3421567
SajatSingle1 = CSng(SajatDouble1)   ' SajatSingle1 értéke 75,34211.
SajatSingle2 = CSng(SajatDouble2)   ' SajatSingle2 értéke 75,34216.

CStr 

Az alábbi táblázat a CStr függvény bemeneti argumentumait és az azokra adott visszatérési értékeit szemlélteti:
Argumentum adattípusa Visszatérési érték 
Boolean (logikai) A True vagy False szöveget tartalmazó karakterlánc 
Dátum Egy 
Date típusú értéket (dátumot és idot) a rendszer rövid dátumformátumában tartalmazó karakterlánc 
Numerikus érték A számot ábrázoló karakterlánc 

CStr példa:

A példa a CStr függvénnyel karakterlánccá alakít egy numerikus értéket. 
Dim SajatDouble As Double
Dim 
SajatString As String
SajatDouble 437.324
SajatString CStr(SajatDouble)   ' SajatString értéke "437.324".