Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > .NET Framework > Forum > สอบถามเรื่อง การแปลงเลขฐาน 16 เป็นฐาน 10 และ การตัดตัวหน้าสุดที่อ่านได้จาก Tag rfid



 

สอบถามเรื่อง การแปลงเลขฐาน 16 เป็นฐาน 10 และ การตัดตัวหน้าสุดที่อ่านได้จาก Tag rfid

 



Topic : 049136



โพสกระทู้ ( 96 )
บทความ ( 0 )



สถานะออฟไลน์




ผมอ่านค่าที่ได้จาก Tag rfid แล้วครับ แต่ปัญหามันมีอยู่ว่า

เมื่อผมต้องการแปลงค่าที่อ่านมาได้ เป็นเลขฐาน 10

มันก็เกิด error ขึ้น

Conversion from string " 0A00D1E86C

" to type 'Long' is not valid.

ค่าที่อ่านได้

333

ตัวหน้ามันมาไงเนี่ย - -'' ผมขอวิธีตัดมันออกไปหน่อยครับ

ผมก็ลองอีกวิธี โดยการแปลงค่าจากฐาน16 เป็น ฐาน10 โดยเอามาจาก vb6 เหอๆ

errorอีกนั่นเหละครับ และอีกตัว ภาพต่อกันครับ ผมไม่รู้จะใส่ยังไงดี

222

111

code ครับCode (VB.NET)
Imports System.IO
Imports System.IO.Ports
Public Class Form2
    Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        SerialPort1.Open()

        '(Me.Move(Screen.Width - Me.Width) \ 2, (Screen.Height - Me.Height) \ 2)

        txtHexadecimal.Text = ""
        txtBinary.Text = ""
        txtDecimal.Text = ""
    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If SerialPort1.IsOpen Then
            With txtHexadecimal
                .AppendText(SerialPort1.ReadLine & vbCrLf)
                .ScrollToCaret()
            End With
        End If
        SerialPort1.Close()
    End Sub
    Function CheckHexaDecimal(ByVal Index As Integer)
        Select Case Index
            ' ASCII Code 48 - 57 คือ ตัวอักขระ 0 - 9
            ' ASCII Code 65 - 70 คือ ตัวอักขระ A - F
            Case 48 To 57, 65 To 70
            Case 8, 13
            Case Else
                Index = 0
        End Select
        CheckHexaDecimal = Index
    End Function

    Private Sub cmdConvert_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdConvert.Click
        Dim i As Integer

        txtBinary.Text = ""
        txtDecimal.Text = ""

        If Trim$(txtHexadecimal.Text) = "" Or Len(Trim$(txtHexadecimal.Text)) = 0 Then Exit Sub
        For i = Len(txtHexadecimal.Text) To 1 Step -1
            Select Case Mid$(txtHexadecimal.Text, i, 1)
                Case "0"
                    txtBinary.Text = "0000" & txtBinary.Text
                Case "1"
                    txtBinary.Text = "0001" & txtBinary.Text
                Case "2"
                    txtBinary.Text = "0010" & txtBinary.Text
                Case "3"
                    txtBinary.Text = "0011" & txtBinary.Text
                Case "4"
                    txtBinary.Text = "0100" & txtBinary.Text
                Case "5"
                    txtBinary.Text = "0101" & txtBinary.Text
                Case "6"
                    txtBinary.Text = "0110" & txtBinary.Text
                Case "7"
                    txtBinary.Text = "0111" & txtBinary.Text
                Case "8"
                    txtBinary.Text = "1000" & txtBinary.Text
                Case "9"
                    txtBinary.Text = "1001" & txtBinary.Text
                Case "A"
                    txtBinary.Text = "1010" & txtBinary.Text
                Case "B"
                    txtBinary.Text = "1011" & txtBinary.Text
                Case "C"
                    txtBinary.Text = "1100" & txtBinary.Text
                Case "D"
                    txtBinary.Text = "1101" & txtBinary.Text
                Case "E"
                    txtBinary.Text = "1110" & txtBinary.Text
                Case "F"
                    txtBinary.Text = "1111" & txtBinary.Text
            End Select
        Next
        Dim Dec As Double
        Dim BitWeight As Integer
        For i = Len(txtBinary.Text) To 1 Step -1
            If Mid$(txtBinary.Text, i, 1) <> 0 Then Dec = Dec + ((2 ^ BitWeight) * Mid$(txtBinary.Text, i, 1))
            BitWeight = BitWeight + 1
        Next
        txtDecimal.Text = Dec
        ' เรียกใช้ฟังค์ชั่นโดยการคำนวณหาค่าเลขฐาน 10 จากสมการโดยตรง
        '            ของเดิม
        'MsgBox(HexToDecimal(txtHexadecimal.Text))
        MsgBox(Hex(txtHexadecimal.Text))
    End Sub
End Class




Tag : .NET, VB.NET, VS 2005 (.NET 2.x)







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-09-21 20:56:23 By : AoFzaIT View : 6975 Reply : 8
 

 

No. 1



โพสกระทู้ ( 183 )
บทความ ( 0 )



สถานะออฟไลน์


SubString ครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-09-22 08:35:19 By : 3rds
 


 

No. 2



โพสกระทู้ ( 96 )
บทความ ( 0 )



สถานะออฟไลน์


ยังไงครับ ไม่เข้าใจ SubString

ขี้ขัดด้วยครับ ผมความรู้น้อย -*-

ขอบคุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-09-22 10:57:02 By : AoFzaIT
 

 

No. 3

Guest


Fuction แปลง ฐาน 16 เป็น ฐาน 10 ของ Vb.net มีสองอย่าง เลือกเอาเน้อ

วิธีที่ 1 วิธีโบราณ

'Function แปลงเลขฐาน 10 เป็น ฐาน 16
Private Function DecimalToHex(ByVal Dec As Long) As String
Dim TextResult As String = ""
Dim TextConvert As String = ""
Do While (Dec > 0)
TextConvert = (Dec Mod 16)
Select Case TextConvert
Case "10"
TextConvert = "A"
Case "11"
TextConvert = "B"
Case "12"
TextConvert = "C"
Case "13"
TextConvert = "D"
Case "14"
TextConvert = "E"
Case "15"
TextConvert = "F"
Case Else
TextConvert = TextConvert
End Select

TextResult = TextConvert & TextResult

Dec = Dec \ 16
Loop

Return TextResult
End Function


วิธีที่ 2 วิธีสมัยใหม่

Function แปลงเลขฐาน 10 เป็น ฐาน 16
Private Function DecimalToHex(ByVal Dec As Long) As String
Dim TextResult As String = Convert.ToString(Dec, 16)
Return TextResult
End Function
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-12-10 23:23:46 By : Gunboy
 


 

No. 4

Guest


เอ้า 16 เป็น 10 นี้หว่าครับ โทษที เอาใหม่

วิธีที่ 1 วิธีโบราณ

'Function แปลงเลขฐาน 16 เป็น ฐาน 10
Private Function HexToDecimal(ByVal Hex As String) As String
Dim TextResult As String = ""
Dim CountText As Integer = Len(Hex)
Dim CalCulate As Long
Dim Dec As Byte
Dim i As Integer
For i = 1 To CountText
TextResult = Hex.Substring(CountText - i, 1)
Select Case TextResult
Case "A"
Dec = 10
Case "B"
Dec = 11
Case "C"
Dec = 12
Case "D"
Dec = 13
Case "E"
Dec = 14
Case "F"
Dec = 15
Case Else
Dec = Val(TextResult)
End Select
CalCulate = CalCulate + (Dec * (16 ^ (i - 1)))
Next i
TextResult = CalCulate.ToString
Return TextResult
End Function

วิธีที่ 2 วิธีสมัยใหม่

Function แปลงเลขฐาน 16 เป็น ฐาน 10
Private Function DecimalToHex(ByVal Hex As String) As String
dim Num as Long = Convert.ToInt64(InputText, 16)
Dim TextResult As String = Convert.ToString(Num, 10)
Return TextResult
End Function
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-12-10 23:30:04 By : Gunboy
 


 

No. 5

Guest


' Function ตัด String ตัวหน้าทิ้ง ครับ
Private Function CutFirstString(ByVal FirstString As String) As String

Dim CountString as Integer = Len(FirstString)
Dim SecString as String = FirstString.Substring(1,CountString-1)

Return SecString
End Function
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-12-10 23:42:53 By : Gunboy
 


 

No. 6



โพสกระทู้ ( 410 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ไอวิธีสมัยใหม่นี้คือมานมี function ให้เลยเหรอเนี๊ย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-12-11 09:42:32 By : zero1150kfc
 


 

No. 7

Guest


งงมากใครช่วยที
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-05-23 13:55:23 By : เเสคยสม
 


 

No. 8



โพสกระทู้ ( 162 )
บทความ ( 0 )



สถานะออฟไลน์


dim DecValue As Long = Convert.ToInt32("0A00D1E86C", 16)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-05-23 15:12:38 By : superpheak
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามเรื่อง การแปลงเลขฐาน 16 เป็นฐาน 10 และ การตัดตัวหน้าสุดที่อ่านได้จาก Tag rfid
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่