Convertire un numero da rappresentazione Esadecimale a Decimale
Vai alla navigazione
Vai alla ricerca
Per ottenere la rappresentazione decimale di un valore espresso in partenza in esadecimale, possiamo utilizzare diverse modalità a seconda delle circostanze.
1 - Possiamo in via generale utilizzare la funzione di conversione Val() secondo la seguente sintassi:
decimale = VAL(stringa_esadecimale)
Esempio:
Public Sub Button1_Click()
Dim intIntero as integer
intIntero = Val("&h4B56")
Print intIntero
End
2 - Se il valore da convertire in decimale deve essere mostrato in console, possiamo fare semplicemente così:
Public Sub Button1_Click() Print &4B56 End
3 - Se utilizziamo una TextArea possiamo fare così:
Public Sub Button1_Click() TextArea1.Text = &4B56 End
4 - Se si deve utilizzare una variabile, nella quale c'è il puro valore esadecimale, possiamo fare così:
Public Sub Button1_Click() Dim ss As String = "07A120" Dim intIntero As Integer ss = "&" & ss intIntero = Val(ss) Print intIntero End
5 - Se invece dobbiamo estrarre il valore decimale da un esadecimale, restituito da un comando bash gestito con Process, e rappresentato dal valore "0x....", allora possiamo fare così:
Public Sub Button1_Click()
Dim pr As Process
Dim s1, s2 As String
pr = Shell "linea_di_comando_bash" For Read
While Not Eof(pr)
Input #pr, s1
If Left(s1, 2) = "0x" Then Exit
Wend
' Prendiamo della stringa i caratteri dopo la “x”, ossia soltanti quelli che rappresentano strettamente il numero esadecimale:
s2 = Right(s1, Len(s1) - 2)
' Mostriamo sia il valore esadecimale (ma senza la "x") sia quello decimale:
Print s2, Val("&" & s2)
End