Differenze tra le versioni di "Arrotondamento di un numero con virgola mobile"

Da Gambas-it.org - Wikipedia.
Riga 30: Riga 30:
  
  
Se si intende ottenere ''in ogni caso'' l'arrotondamento all'unità <SPAN Style="text-decoration:underline">superiore</span>, si può escogitare qualcosa (senza ''Round'') come questo esempio:
+
Se si intende ottenere ''in ogni caso'' l'arrotondamento, si può escogitare qualcosa (senza ''Round'') come questo esempio:
  
 
  '''Public''' Sub Button1_Click()
 
  '''Public''' Sub Button1_Click()
Riga 38: Riga 38:
 
   a = 26.123
 
   a = 26.123
 
   
 
   
 +
''<FONT Color=#006400>'Arrotondamento all'unità <SPAN Style="text-decoration:underline">superiore</span>:''</font>
 
   a = Fix(a + 1)    ''<FONT Color=#006400>'...oppure così: ''a = Fix(a) + 1'' ,  il risultato è identico.''</font>
 
   a = Fix(a + 1)    ''<FONT Color=#006400>'...oppure così: ''a = Fix(a) + 1'' ,  il risultato è identico.''</font>
 +
 +
  Print "a = "; a
 +
 +
''<FONT Color=#006400>'Arrotondamento all'unità <SPAN Style="text-decoration:underline">inferiore</span>:''</font>
 +
  a = Fix(a - 1)    ''<FONT Color=#006400>'...oppure così: ''a = Fix(a) - 1'' ,  il risultato è identico.''</font>
 
   
 
   
 
   Print "a = "; a
 
   Print "a = "; a

Versione delle 06:41, 16 feb 2012

Se vogliamo ottenere un arrotondamento all'unità superiore, possiamo utilizzare la funzione Round.
L'arrotondamento all'unità superiore avviene con Round soltanto se il primo numero decimale è uguale o supriore a 5.

Public Sub Button1_Click()

 Dim a As Float

 Print Round(87326.5)

End

In console avremo:
87327


Altrimenti si avrà un arrotondamento all'unità inferiore:

Public Sub Button1_Click()

 Dim a As Float

 a = 87326.4999999

  Print Round(87326.4999999)

End

In console avremo:
87326


Se si intende ottenere in ogni caso l'arrotondamento, si può escogitare qualcosa (senza Round) come questo esempio:

Public Sub Button1_Click()
 
 Dim a As Float

  a = 26.123

'Arrotondamento all'unità superiore:
  a = Fix(a + 1)     '...oppure così: a = Fix(a) + 1 ,  il risultato è identico.

 Print "a = "; a

'Arrotondamento all'unità inferiore:
  a = Fix(a - 1)     '...oppure così: a = Fix(a) - 1 ,  il risultato è identico.

 Print "a = "; a

End

In console avremo:
27