Convertire un numero da rappresentazione Esadecimale a Decimale
Da Gambas-it.org - Wikipedia.
Versione del 13 dic 2012 alle 08:43 di Vuott (Discussione | contributi) (Nuova pagina: Per ottenere la rappresentazione '''''decimale''''' di un valore espresso in partenza in ''esadecimale'', possiamo utilizzare diverse modalità a seconda delle circostanze. <FONT col...)
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, o comunque rappresentato dal valore "0x....", allora possiamo fare così:
Public Sub Button1_Click() Dim pr As Process Dim ss As New String[] Dim s As String pr = Shell "linea_di_comando_bash" For Read While Not Eof(pr) Input #pr, s If Mid(s, 1, 2) = "0x" Then Exit Wend ' Dividiamo la stringa in modo tale da ottenere la seconda parte priva della “x”: ss = Split(s, "x") ' Mostriamo sia il valore esadecimale (senza la "x") che quello decimale: Print ss[1], Val("&" & ss[1]) End