VBA Converti stringa di testo in numero

Potrebbe essere necessario convertire i numeri memorizzati come testo in numeri effettivi nel codice VBA. In questo tutorial, esamineremo le funzioni che è necessario utilizzare per convertire una stringa in un tipo di dati intero, lungo, doppio, decimale o valuta (fare clic qui per informazioni sulla conversione di numeri in stringhe)

Converti stringa in intero

È possibile utilizzare la funzione CInt o CLng per convertire una stringa in un numero intero. Se la frazione è minore di 0,5 la funzione verrà arrotondata per difetto, se la frazione è maggiore o uguale a 0,5 la funzione verrà arrotondata per eccesso. Il codice seguente convertirà una stringa in un numero intero:

1 MsgBox CInt("7.55")

Il risultato è:

Il codice seguente utilizza la funzione CLng per convertire una stringa in un numero intero:

1 MsgBox CLng("13.5")

Il risultato è:

Nota: È possibile utilizzare la funzione CInt o CLng per convertire una stringa in un tipo di dati intero o lungo (rispettivamente). Il tipo di dati Long è lo stesso di un tipo di dati intero, tranne per il fatto che sono consentiti numeri più grandi. In passato, la distinzione era richiesta a causa di vincoli di memoria. Nella programmazione moderna, non c'è motivo per non utilizzare il tipo di dati lungo poiché la memoria non è più un problema. Quindi è sempre meglio usare un tipo di dati lungo invece di un numero intero.

È possibile utilizzare la finestra immediata per vedere come verrebbe elaborato il valore se non convertito in un numero intero:

1 Debug.Stampa "13,5" + "13,5"


Di solito, il testo verrà memorizzato come variabile e questa variabile dovrà essere convertita in un tipo di dati numerico come mostrato nel codice seguente:

1234567 Sub Using_Variables()Dim valueOne As StringvaloreUno = 5MsgBox CLng(valoreUno) + CLng(valoreUno)Fine sottotitolo

Converti stringa in decimale

È possibile utilizzare la funzione CDbl o CDec per convertire una stringa in un decimale. Il codice seguente convertirà una stringa in un doppio tipo di dati:

1 MsgBox CDbl("9.1819")

Il risultato è:

Il codice seguente converte una stringa in un tipo di dati decimale:

1 MsgBox CDec("13.57") + CDec("13.4")

Il risultato è:

È possibile utilizzare la finestra immediata per vedere come verrebbe elaborato il valore se non convertito in un tipo di dati double o decimal:

1 Debug.Stampa "13.57" + "13.4"

Il risultato è:

Nota: Il tipo di dati decimal può memorizzare numeri più grandi rispetto al tipo di dati double, quindi è sempre consigliabile utilizzare il tipo di dati decimal quando non si è sicuri.

Converti stringa in valuta

Puoi utilizzare la funzione CCur per convertire una stringa in una valuta. Il codice seguente converte una stringa in un tipo di dati di valuta:

1 Intervallo("A1").Valore = CCur("18.5")

Il risultato è:

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave