Ottenere la parte intera e quella decimale di un numero in virgola mobile

Da Gambas-it.org - Wikipedia.

Per estrarre da un numero in virgola mobile sia la parte intera che quella decimale, è possibile adoperare complessivamente almeno 5 modalità.


Ottenere la parte intera

Si potrà ottenere la parte intera di un numero in virgola mobile mediante le seguenti funzioni:

  • Fix();
  • Int();
  • Split();
  • Scan().

Esempio pratico:

Public Sub Main()

' Con la funzione "Fix()":
  Print Fix(5 / 3)
 
' Con la funzione "Int()" (con un numero positivo):
  Print Int(5 / 3)
 
' Con la funzione "Split()":
  Print Val(Split(CStr(5 / 3), ".")[0])
   
' Con la funzione "Scan()":
  Print Scan(CStr(5 / 3), "*.*")[0]

End


Ottenere la parte decimale

Si potrà ottenere la parte decimale di un numero in virgola mobile mediante le seguenti funzioni:

  • Frac();
  • Split();
  • Scan().

Esempio pratico:

Public Sub Main()

' Con la funzione "Frac()":
  Print Frac(5 / 3)
  
' Con la funzione "Split()" (viene estratta senza lo zero né la virgola, ossia solo i numeri grezzi che compongono la parte):
  Print Val(Split(CStr(5 / 3), ".")[1])
   
' Con la funzione "Scan()" (viene estratta senza lo zero né la virgola, ossia solo i numeri grezzi che compongono la parte):
  Print Scan(CStr(5 / 3), "*.*")[1]

End