Convert Data type
description
Transcript of Convert Data type
VB .NET 2005 By Warawut Khangkhan การแปลงชน ดของข$อม&ลใน VB.NET 2005 express Edition
การแปลงชนดของข�อม�ลใน VB .NET 2005 Express Edition
ในการเข1ยนโปรแกรมโดยท56วไป เราอาจต$องการแปลงข$อม&ลจากชน ดหน<6งไปเป=นอ1กชน ดหน<6ง เช>น ถ$าเราม1 TextBox 2 ต5ว ท16ท@าหน$าท16ในการร5บค>าจากแปCนพ มพE แล$วเราน@า TextBox ท5Fง 2 มารวมก5น (+) จะท@าให$ผลล5พธEท16เราต$องการผ ดพลาดได$ เนM6องจากเครM6องหมายบวก (+) เป=นการรวมก5นระหว>าง TextBox ท5Fงสอง เพราะฉะน5Fนเราจ@าเป=นต$องท@าการแปลงชน ดของข$อม&ลใน TextBox ท5Fง 2 เป=นชน ดข$อม&ลต5วเลขก>อน ถ<งจะได$ผลล5พธEท16ถ&กต$อง
ใน VB .NET สามารถแปลงชน ดของข$อม&ลได$อย>างง>ายดาย เนM 6องจากข$อม&ลทPกชน ดใน VB .NET ถMอเป=น Object ประเภทหน<6ง ซ<6งม1เมธอด (Method) หรMอฟYงกEช56น (Function) ท16ใช$แปลงชน ดข$อม&ลอย&>ภายในเร1ยบร$อยแล$ว
ต5วอย>างเช>น ถ$าเราต$องการแปลงชน ดข$อม&ลของต5วแปร A ซ<6งเป=นต5วแปรชน ด Single ไปเป=นข$อม&ลชน ด String และเก^บผลล5พธEไว$ในต5วแปร B จะท@าได$ด5งน1F
Dim A As Single = 123.45 'ประกาศต5วแปร A ให$เป=นต5วแปรชน ด SingleDim B As String 'ประกาศต5วแปร B ให$เป=นต5วแปรชน ด StringB = A.ToString 'แปลงข$อม&ลของต5วแปร A จากชน ด Single ไปเป=น String และเก^บผลล5พธE
ไว$ในต5วแปร B
Method ท5Fงหมดท16ใช$แปลงชน ดข$อม&ลจะอย&>ในคลาส System.Convert ซ<6งเราสามารถเร1ยกโดยใช$ร&ปแบบร�ปแบบ
<ช��อต�วแปร>.<ช��อเมธอด>หรMอ
System.Convert.<ช��อเมธอด>(<ช��อต�วแปร>)
จากต5วอย>าง B = A.ToString เราอาจเข1ยนอ1กร&ปแบบหน<6งได$ด5งน1F System.Convert.ToString(A) กไ̂ด$เช>นก5น
ตาราง สรPป Method ท16ส@าค5ญท16ใช$แปลงชน ดของข$อม&ล
Method Description Example Program Result
ToString แปลงข$อม&ลชน ดต5วเลข (numeric) หรMอ Date ให$เป=นต5วอ5กษร
Dim varString As StringDim varDate As Date = Now( )Dim varDouble As Double = 123.45varString = varDate.ToStringvarString = varDouble.ToString
'varString = “11/12/2008 17:33”
'varString = “123.45”
ToBool แปลงข$อม&ลชน ดสตร งให$เป=น Boolean Dim varString As String = “True”Dim varBoolean As BooleanvarBoolean = varString.ToBool
'varBoolean = True
ToChar แปลงข$อม&ลชน ดต5วเลขให$เป=น Char Dim varByte As Byte = 80Dim varChar As CharvarChar = Convert.ToChar(varByte)
'varChar = 'P'
- 1 -
VB .NET 2005 By Warawut Khangkhan การแปลงชน ดของข$อม&ลใน VB.NET 2005 express Edition
ตาราง (ต5อ) สรPป Method ท16ส@าค5ญท16ใช$แปลงชน ดของข$อม&ล
Method Description Example Program Result
ToByte แปลงเป=นข$อม&ลชน ด Byte Dim varChar As Char = “P”Dim varByte As BytevarByte = Convert.ToByte(varChar)
'varByte = 80
ToDateTime แปลงเป=นข$อม&ลชน ด DateTime Dim varString As String = “01/02/2002”
Dim varDateTime As DateTimevarDateTime =
Convert.ToDateTime(varString)
'varDateTime = 01/02/2002
ToInt16 แปลงเป=นข$อม&ลอM6น ๆ ให$เป=น Short Dim varSring As String = “1234”Dim varShort As ShortvarShort =
Convert.ToInt16(varString)
'varShort = 1234
ToInt32 แปลงเป=นข$อม&ลอM6น ๆ ให$เป=น Integer Dim varInt As IntegerDim varLong As Long = 3500Dim varSingle As Single =
123.4567varInt = Convert.ToInt32(varLong)varInt = Convert.ToInt32(varSingle)
'varInt = 3500'varInt = 123
ToInt64 แปลงเป=นข$อม&ลอM6น ๆ ให$เป=น Long Dim varLong As LongDim varInt As Integer =
699999999Dim varSingle As Single = 123.456varLong = Convert.ToInt64(varInt)varLong = Convert.ToInt64(varSingle)
'varLong = 699999999'varLong = 123
ToSingle แปลงเป=นข$อม&ลอM6น ๆ ให$เป=น Single Dim varSingle As SingleDim varInt As Integer = 6999varSingle = Convert.ToSingle(varInt)
'varSingle = 6999
ToDouble แปลงเป=นข$อม&ลอM6น ๆ ให$เป=น Double Dim varDouble As DoubleDim varSingle =
“6999999999999.99”varDouble =
Convert.ToDouble(varSingle)
'varDouble = 6999999999999.99
- 2 -
VB .NET 2005 By Warawut Khangkhan การแปลงชน ดของข$อม&ลใน VB.NET 2005 express Edition
ต7วอย5าง การเข;ยนโปรแกรมในการแปลงชนดของข�อม�ล โดยไม5ใช� Method
ต5วอย>างท16จะใช$น1Fเป=นต5วอย>างท16เก16ยวก5บการค@านวณโดยการบวกเลข ซ<6งเป=นการร5บข$อม&ลจากแปCนพ มพEมา 2 ค>า โดย Control ท16ใช$ในการร5บค>าก^คMอ TextBox ซ<6งการค@านวณด$วยว ธ1การบวกและไม>ม1การแปลงชน ดของข$อม&ลแล$วจะท@าหน$าท16เป=นการรวมก5นระหว>างค>าท5 Fง 2 เช>น TextBox1 ร5บค>าเป=น 10 และ TextBox2 ร5บค>าเป=น 15 ผลล5พธEท16ได$จากการบวกก5นก^คMอ 1015
ตาราง ก@าหนด Properties ท16ส@าค5ญของแต>ละ ControlNo. Control Properties Value
1 Form Name Form1
Text การแปลงข$อม&ลโดยไม>ใช> Method
StartPosition CenterScreen
MaximizeBox False
MinimumBox False
2 TextBox Name txtNum1
TextAlign Center
3 TextBox Name txtNum2
TextAlign Center
4 TextBox Name txtResult
TextAlign Center
ReadOnly True
5 Button Name btnCalculatorAdd
Text ค@านวณบวก
- 3 -
234
5 6 7
VB .NET 2005 By Warawut Khangkhan การแปลงชน ดของข$อม&ลใน VB.NET 2005 express Edition
ตาราง (ต>อ) ก@าหนด Properties ท16ส@าค5ญของแต>ละ ControlNo. Control Properties Value
6 Button Name btnClear
Text เคล1ยรEค>า
7 Button Name btnExit
Text ออก
Coding:
Public Class Form1
Private Sub btnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click Application.Exit() End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load txtNum1.Text = "0" txtNum2.Text = "0" txtResult.Text = "0" End Sub
Private Sub btnClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClear.Click txtNum1.Text = "0" txtNum2.Text = "0" txtResult.Text = "0" End Sub
Private Sub btnCalculatorAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCalculatorAdd.Click txtResult.Text = txtNum1.Text + txtNum2.Text End Sub
Private Sub txtNum1_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtNum1.Enter txtNum1.SelectionStart = 0 txtNum1.SelectionLength = txtNum1.Text.Length End Sub
Private Sub txtNum2_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtNum2.Enter txtNum2.SelectionStart = 0 txtNum2.SelectionLength = txtNum2.Text.Length End Sub
- 4 -
VB .NET 2005 By Warawut Khangkhan การแปลงชน ดของข$อม&ลใน VB.NET 2005 express Edition
Private Sub txtNum1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtNum1.KeyDown If e.KeyCode = Keys.Enter Then txtNum2.Focus() End Sub
Private Sub txtNum2_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtNum2.KeyDown If e.KeyCode = Keys.Enter Then btnCalculatorAdd.Focus() End SubEnd Class
Test Program:
ต7วอย5าง การเข;ยนโปรแกรมในการแปลงชนดของข�อม�ล โดยใช� Method
เราจะใช$ต5วอย>างเก16ยวก5บการค@านวณโดยการบวกเลข ซ<6งหน$าจอและการก@าหนดคPณสมบ5ต (Properties) จะม1ล5กษณะคล$ายด5งต5วอย>างข$างต$น เพ1ยงแต>ได$ท@าการแก$ไข Code เพ1ยงบางส>วนเท>าน5Fน
ท@าการแก$ไข Code ท16ปP{ม “ค@านวณบวก” จาก Code เด ม คMอtxtResult.Text = txtNum1.Text + txtNum2.Text
แก$ไขใหม>เป=นtxtResult.Text = Convert.ToInt32(txtNum1.Text) + Convert.ToInt32(txtNum2.Text)
เพ1ยงเท>าน1 F โปรแกรมของเราก^สมบ&รณEแล$ว ถ$าเราทดสอบอ1กคร5 Fงโดยก@าหนดให$ TextBox1 ร5บค>าเป=น 10 และ TextBox2 ร5บค>าเป=น 15 ผลล5พธEท16ได$จากการบวกก5นก^คMอ 25 ท5นท1
Test Program:
- 5 -