Differenze tra le versioni di "Val"

Da Gambas-it.org - Wikipedia.
 
(5 versioni intermedie di uno stesso utente non sono mostrate)
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 locazione corrente.
+
'''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'')
+
[https://gambaswiki.org/wiki/lang/val Val()] restituisce un valore numerico valutato al tipo intero immediatamente più corto possibile.
  
  
 
Esempio:
 
Esempio:
  
  STATIC Public Sub Main()
+
  Public Sub Main()
 
   
 
   
 
   Dim stringa AS String
 
   Dim stringa AS String
Riga 16: Riga 16:
 
   
 
   
 
  End
 
  End
 
 
 
In console si avrà:
 
In console si avrà:
 
+
<BR>88
88
 
 
<BR>True
 
<BR>True
 
  
  
Riga 29: Riga 25:
  
 
In pratica, la seguente espressione
 
In pratica, la seguente espressione
  Val(1.1)
+
  Val("1.1")
 
darà risultato ''Null''.
 
darà risultato ''Null''.
  
 
Mentre la seguente espressione:
 
Mentre la seguente espressione:
  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).