Differenze tra le versioni di "Val"

Da Gambas-it.org - Wikipedia.
 
(Una versione intermedia di uno stesso utente non è mostrata)
Riga 1: Riga 1:
 
'''Val''' converte una stringa in una valore ''booleano'', in un ''numero'' oppure in una ''data''. Per convertire numeri e date viene utilizzata la <SPAN Style="text-decoration:underline">locazione corrente</span>.
 
'''Val''' converte una stringa in una valore ''booleano'', in un ''numero'' oppure in una ''data''. Per convertire numeri e date viene utilizzata la <SPAN Style="text-decoration:underline">locazione corrente</span>.
 
  ''espressione'' = Val(''stringa'')
 
  ''espressione'' = Val(''stringa'')
Val() restituisce un valore numerico valutato al tipo intero immediatamente più corto possibile.
+
[https://gambaswiki.org/wiki/lang/val Val()] restituisce un valore numerico valutato al tipo intero immediatamente più corto possibile.
  
  
Riga 17: Riga 17:
 
  End
 
  End
 
In console si avrà:
 
In console si avrà:
<TR>88
+
<BR>88
 
<BR>True
 
<BR>True
  
Riga 31: Riga 31:
 
  Val("1,1")
 
  Val("1,1")
 
viene convertita.
 
viene convertita.
 +
 +
 +
===Estensione automatica del segno===
 +
Se il numero inizia con "&" o "&H" (esadecimale), "&X" o "%" (binario), e se il numero <SPAN Style="text-decoration:underline">non</span> termina con "&" o "U", allora c'è un'estensione automatica del segno.
 +
 +
L'estensione automatica del segno viene effettuata solo se il numero di cifre è uguale a un multiplo di 16 bit interi (cioè 4 o 8 cifre in esadecimale, 16 o 32 cifre in binario).

Versione attuale delle 11:40, 22 lug 2023

Val converte una stringa in una valore booleano, in un numero oppure in una data. Per convertire numeri e date viene utilizzata la locazione corrente.

espressione = Val(stringa)

Val() restituisce un valore numerico valutato al tipo intero immediatamente più corto possibile.


Esempio:

Public Sub Main()

 Dim stringa AS String

  stringa = "88"

  Print Val(stringa)
  Print Val("True")

End

In console si avrà:
88
True


Localizzazione

La funzione Val() utilizza la localizzazione. Pertanto bisognerà prestare attenzione ai punti decimali, virgole, e ordine di date e ore.

In pratica, la seguente espressione

Val("1.1")

darà risultato Null.

Mentre la seguente espressione:

Val("1,1")

viene convertita.


Estensione automatica del segno

Se il numero inizia con "&" o "&H" (esadecimale), "&X" o "%" (binario), e se il numero non termina con "&" o "U", allora c'è un'estensione automatica del segno.

L'estensione automatica del segno viene effettuata solo se il numero di cifre è uguale a un multiplo di 16 bit interi (cioè 4 o 8 cifre in esadecimale, 16 o 32 cifre in binario).