Troncare alcune cifre decimali in un valore in virgola mobile
Da Gambas-it.org - Wikipedia.
Versione del 1 giu 2023 alle 08:22 di Vuott (Discussione | contributi) (Creata pagina con "Poniamo il caso che da questo valore in virgola mobile - 5,123456789 - vogliamo troncare alcuni decimali, in modo tale da far restare soltanto le prime due cifre decimali (oss...")
Poniamo il caso che da questo valore in virgola mobile - 5,123456789 - vogliamo troncare alcuni decimali, in modo tale da far restare soltanto le prime due cifre decimali (ossia sino ai centesimi, ottenendo insomma il valore finale: 5,12).
Mostriamo alcune modalità.
Indice
Usando la funzione "Fix()"
Public Sub Main() Dim f As Float = 5.123456789 f = Fix(f * 100) / 100 Print f End
Usando la funzione "Int()"
Public Sub Main() Dim f As Float = 5.123456789 Dim decimali As Byte = 2 f = Int(f * 10 ^ decimali) / 10 ^ decimali Print f End
Usando la funzione "CLong()" o "CInt()"
Public Sub Main() Dim f As Float = 5.123456789 Dim decimali As Byte = 2 f = CLong(f * 10 ^ decimali) / 10 ^ decimali Print f End
Ottenere un numero in formato stringa usando la funzione "Format()"
Public Sub Main() Dim f As Float = 5.123456789 Print Format(f, "#.##") End
Usando la funzione esterna di C "printf()"
L'uso di questa soluzione permetterà, però, soltanto di mostrare meramente il risutato.
' int printf(const char *format, ...) ' Sends formatted output to stdout. Private Extern printf($format As String, num As Float) As Integer In "libc:6" Public Sub Main() Dim f As Float = 5.123456789 printf("%.3lf", f) End