Differenze tra le versioni di "Ottenere la parte intera e quella decimale di un numero in virgola mobile"
Da Gambas-it.org - Wikipedia.
(7 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 4: | Riga 4: | ||
==Ottenere la parte intera== | ==Ottenere la parte intera== | ||
Si potrà ottenere la parte intera di un numero in virgola mobile mediante le seguenti funzioni: | Si potrà ottenere la parte intera di un numero in virgola mobile mediante le seguenti funzioni: | ||
− | * | + | * ''Fix()''; |
− | * Int(); | + | * ''Int()''; |
− | * Split(); | + | * ''Split()''; |
− | * Scan(). | + | * ''Scan()''; |
+ | * ''Left() e InStr()''. | ||
Esempio pratico: | Esempio pratico: | ||
Riga 23: | Riga 24: | ||
<FONT Color=gray>' ''Con la funzione "Scan()":''</font> | <FONT Color=gray>' ''Con la funzione "Scan()":''</font> | ||
Print Scan(CStr(5 / 3), "*.*")[0] | Print Scan(CStr(5 / 3), "*.*")[0] | ||
+ | |||
+ | <FONT Color=gray>' ''Con le funzioni "Left()" e "InStr()":''</font> | ||
+ | Print Left(CStr(5 / 3), InStr(CStr(5 / 3), ".") - 1) | ||
+ | |||
+ | <FONT Color=gray>' ''Servendosi semplicemente dell'operatore " \ ":''</font> | ||
+ | Print 5 \ 3 | ||
+ | |||
+ | <FONT Color=gray>' ''Sottraendo la parte decimale individuata con la funzione "Frac()":''</font> | ||
+ | Print 5 / 3 - Frac(5 / 3) | ||
'''End''' | '''End''' | ||
Riga 29: | Riga 39: | ||
==Ottenere la parte decimale== | ==Ottenere la parte decimale== | ||
− | Si potrà ottenere la parte | + | Si potrà ottenere la parte decimale di un numero in virgola mobile mediante le seguenti funzioni: |
− | * Frac(); | + | * ''Frac()''; |
− | * Split(); | + | * ''Split()''; |
− | * Scan(). | + | * ''Scan()''; |
+ | * ''Right() e InStr()''. | ||
Esempio pratico: | Esempio pratico: | ||
Riga 40: | Riga 51: | ||
Print Frac(5 / 3) | Print Frac(5 / 3) | ||
− | <FONT Color=gray>' ''Con la funzione "Split()" (viene estratta senza lo zero né la virgola):''</font> | + | <FONT Color=gray>' ''Con la funzione "Split()" (viene estratta senza lo zero né la virgola, ossia solo i numeri grezzi che compongono la parte):''</font> |
Print Val(Split(CStr(5 / 3), ".")[1]) | Print Val(Split(CStr(5 / 3), ".")[1]) | ||
− | <FONT Color=gray>' ''Con la funzione "Scan()" (viene estratta senza lo zero né la virgola):''</font> | + | <FONT Color=gray>' ''Con la funzione "Scan()" (viene estratta senza lo zero né la virgola, ossia solo i numeri grezzi che compongono la parte):''</font> |
Print Scan(CStr(5 / 3), "*.*")[1] | Print Scan(CStr(5 / 3), "*.*")[1] | ||
+ | |||
+ | <FONT Color=gray>' ''Con le funzioni "Right()" e "InStr()" (viene estratta senza lo zero né la virgola, ossia solo i numeri grezzi che compongono la parte):''</font> | ||
+ | Print Right(CStr(5 / 3), Len(s) - InStr(CStr(5 / 3), ".")) | ||
+ | |||
+ | <FONT Color=gray>' ''Utilizzando la funzione parte frazionaria "x - [x]" servendosi della funzione "Fix()":''</font> | ||
+ | Print 5 / 3 - Fix(5 / 3) | ||
'''End''' | '''End''' |
Versione attuale delle 18:31, 29 ott 2014
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();
- Left() e InStr().
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] ' Con le funzioni "Left()" e "InStr()": Print Left(CStr(5 / 3), InStr(CStr(5 / 3), ".") - 1) ' Servendosi semplicemente dell'operatore " \ ": Print 5 \ 3 ' Sottraendo la parte decimale individuata con la funzione "Frac()": Print 5 / 3 - Frac(5 / 3) End
Ottenere la parte decimale
Si potrà ottenere la parte decimale di un numero in virgola mobile mediante le seguenti funzioni:
- Frac();
- Split();
- Scan();
- Right() e InStr().
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] ' Con le funzioni "Right()" e "InStr()" (viene estratta senza lo zero né la virgola, ossia solo i numeri grezzi che compongono la parte): Print Right(CStr(5 / 3), Len(s) - InStr(CStr(5 / 3), ".")) ' Utilizzando la funzione parte frazionaria "x - [x]" servendosi della funzione "Fix()": Print 5 / 3 - Fix(5 / 3) End