Funzione Val
Aggiornamento: Luglio 2008
Restituisce i numeri inclusi in una stringa sotto forma di valore numerico di tipo appropriato.
Public Overloads Function Val(ByVal InputStr As String) As Double
' -or-
Public Overloads Function Val(ByVal Expression As Object) As Double
' -or-
Public Overloads Function Val(ByVal Expression As Char) As Integer
Parametri
- Expression, InputStr
Obbligatorio. Qualsiasi espressione String, variabile Object o valore Char valido. Se Expression è di tipo Object, il relativo valore deve essere convertibile in String. In caso contrario, verrà generato un errore ArgumentException.
Eccezioni
Tipo di eccezione |
Numero di errore |
Condizione |
---|---|---|
InputStr è troppo grande. |
||
L'espressione di tipo Object non è convertibile in String. |
Se si esegue l'aggiornamento delle applicazioni Visual Basic 6.0 che utilizzano la gestione degli errori non strutturata, vedere la colonna "Numero di errore". È possibile confrontare il numero di errore con la Proprietà Number (oggetto Err). Se possibile, tuttavia, si consiglia di sostituire il controllo dell'errore con la procedura illustrata nella sezione Cenni preliminari sulla gestione strutturata delle eccezioni per Visual Basic.
Nota: |
---|
In risposta ad alcuni formati di numeri insoliti potrebbe essere generata un'eccezione InvalidCastException, numero di errore 13. Per ulteriori informazioni su questo errore, vedere Tipo non corrispondente (Visual Basic). Ad esempio, il codice seguente genera l'eccezione. ' These examples cause run-time errors. 'Console.WriteLine(Val("1.34%")) 'Console.WriteLine(Val("1.34&")) Il conflitto tra il numero formattato come un oggetto Double e i caratteri tipo Integer e Long verrebbe intercettato dal compilatore se non fosse nascosto in una stringa. ' These examples cause compiler errors. 'Dim m = 1.34% 'Dim n = 1.34& |
Note
Con la funzione Val viene interrotta la lettura della stringa in corrispondenza del primo carattere non riconosciuto come parte di un numero. I simboli e i caratteri spesso riconosciuti come parte di un valore numerico, come il segno di valuta e le virgole, non vengono riconosciuti. Tuttavia, la funzione riconosce i prefissi di radice &O (per ottale) e &H (per esadecimale). Gli spazi, le tabulazioni e i caratteri di avanzamento riga vengono eliminati dall'argomento.
La chiamata seguente restituisce il valore 1615198.
Val(" 1615 198th Street N.E.")
La chiamata seguente restituisce il valore decimale -1.
Val("&HFFFF")
Nota: |
---|
La funzione Val riconosce solo il punto (.) come separatore decimale valido. Se per convertire una stringa in numero si utilizzano separatori decimali diversi, ad esempio in applicazioni internazionali, utilizzare la funzione CDbl o CInt. Per convertire la rappresentazione di stringa di un numero di determinate impostazioni cultura in un valore numerico, utilizzare il metodo Parse(String, IFormatProvider) del tipo numerico. Ad esempio, utilizzare Double.Parse per la conversione di una stringa in un valore Double. |
Esempio
Nell'esempio riportato di seguito la funzione Val viene utilizzata per restituire i numeri contenuti in ciascuna stringa. Val interrompe la conversione in corrispondenza del primo carattere che non può essere interpretato come cifra numerica, modificatore numerico, punteggiatura numerica o spazio vuoto.
Dim valResult As Double
' The following line of code sets valResult to 2457.
valResult = Val("2457")
' The following line of code sets valResult to 2457.
valResult = Val(" 2 45 7")
' The following line of code sets valResult to 24.
valResult = Val("24 and 57")
Requisiti
Spazio dei nomi: Microsoft.VisualBasic
Modulo: Conversion
Assembly: Visual Basic Runtime Library (in Microsoft.VisualBasic.dll)
Vedere anche
Riferimenti
Funzioni di conversione del tipo
Cronologia delle modifiche
Date |
History |
Motivo |
---|---|---|
Luglio 2008 |
Aggiunta una nota nella sezione "Eccezioni" per illustrare i casi in cui si verificano le eccezioni InvalidCastException. |
Commenti e suggerimenti dei clienti. |