Konversi tipe data pada vb.net

Dalam bahasa pemrograman, konversi tipe data menjadi hal yang sering kita temui. Konversi ini ada 2 jenis, yaitu implicit dan explicit. Dalam implicit konversi, hasil konversi tidak ingin kehilangan presisi datanya, sedangkan dalam explicit konversi, berlaku sebaliknya, yaitu diijinkan adanya kehilangan presisi data untuk hasil konversinya. Dalam Visual Basic, ada banyak cara yang bisa digunakan untuk melakukan proses konversi tersebut. Anda dapat menggunakan fungsi – fungsi bawaan dari Visual Basic seperti:

– CInt() untuk melakukan konversi ke nilai integer
– CDbl() untuk melakukan konversi ke nilai double
– CDec() untuk melakukan konversi ke nilai decimal
– dan beberapa fungsi built-in lainnya.

Disamping itu, anda juga bisa menggunakan CType, DirectCast dan TryCast.
Pada saat melakukan casting suatu objek ke tipe yang lebih spesifik, DirectCast lebih baik dibanding CType, karena ia tidak menggunakan method-method pembantu runtime. Sebagai tambahan, Anda bisa memanfaatkan class Convert untuk mengkonversi suatu tipe data dasar ke tipe dasar lainnya.

Sejak VB.NET 2005, ditambahkan keyword casting baru, yaitu TryCast. Perbedaan mendasar antara TryCast dengan CType dan DirectCast adalah mengenai nilai yang dikembalikan ketika operasi gagal dilakukan. Baik CType maupun DirectCast, keduanya sama-sama mengembalikan objek InvalidCastException, sedangkan TryCast akan mengembalikan Nothing.

Function TestCast(ByVal o As Object) As String
Dim obj As IConvertible = _
TryCast(o, IConvertible)
If obj Is Nothing Then
Return “Objek tidak dapat dikonversi”
Else
Return “Tipe kode ” & obj.GetTypeCode()
End If
End Function

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s