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

Da Gambas-it.org - Wikipedia.
Riga 1: Riga 1:
Se vogliamo ottenere un arrotondamento di un numero con la virgola, possiamo utilizzare la funzione '''Round'''.
+
Se vogliamo ottenere un arrotondamento di un numero con la virgola, possiamo utilizzare la funzione ''Round()'' oppure la funzione ''Ceil()''.
  
  
====Arrotondamento all'unità ''superiore''====
+
 
 +
==Uso della funzione ''Round()''==
 +
La funzione '''Round()''' arrotonda un numero al più vicino intero a seconda di alcuni casi.
 +
 
 +
 
 +
===Arrotondamento all'unità ''superiore''===
 
Se il primo numero decimale è uguale o supriore a 5, si avrà un arrotondamento all'unità <SPAN Style="text-decoration:underline">''superiore''</span>:
 
Se il primo numero decimale è uguale o supriore a 5, si avrà un arrotondamento all'unità <SPAN Style="text-decoration:underline">''superiore''</span>:
  
Riga 17: Riga 22:
  
  
====Arrotondamento all'unità ''inferiore''====
+
===Arrotondamento all'unità ''inferiore''===
 
Se il primo numero decimale è inferiore a 5, si avrà un arrotondamento all'unità <SPAN Style="text-decoration:underline">''inferiore''</span>:
 
Se il primo numero decimale è inferiore a 5, si avrà un arrotondamento all'unità <SPAN Style="text-decoration:underline">''inferiore''</span>:
  
Riga 35: Riga 40:
  
  
====Arrotondamento senza la funzione ''Round''====
+
==Uso della funzione ''Ceil()''==
Se si intende ottenere l'arrotondamento senza ''Round'', è possibile escogitare anche qualcosa come questo esempio:
+
E', poi, possibile molto semplicemente utilizzare anche la funzione aritmetica '''Ceil()''': se il numero è <SPAN style="text-decoration:underline"positivo</span> e contiene dei decimali, allora tale funzione restituirà un numero arrotondato all'unità intera superiore.
 +
'''Public''' Sub Main() 
 +
 +
  Print Ceil(1.49) 
 +
     
 +
'''End'''
 +
in console si avrà il risultato:
 +
<BR>2
 +
 
 +
 
  
 +
==Arrotondamento senza la funzione ''Round''==
 +
E' possibile effettuare l'arrotondamento senza alcuna funzione, anche escogitando qualcosa come questo esempio:
 
  '''Public''' Sub Button1_Click()
 
  '''Public''' Sub Button1_Click()
 
    
 
    
 
   Dim a, b As Float = 26.123
 
   Dim a, b As Float = 26.123
 
   
 
   
  ''<FONT Color=#006400>'Arrotondamento all'unità <SPAN Style="text-decoration:underline">superiore</span>:''</font>
+
  ''<FONT Color=gray>'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=gray>' ''...oppure così: ''a = Fix(a) + 1'' ,  il risultato è identico.''</font>
 
   
 
   
 
   Print "a = "; a
 
   Print "a = "; a
 
   
 
   
 
   
 
   
  ''<FONT Color=#006400>'Arrotondamento all'unità <SPAN Style="text-decoration:underline">inferiore</span>:''</font>
+
  <FONT Color=gray>' ''Arrotondamento all'unità <SPAN Style="text-decoration:underline">inferiore</span>:''</font>
   b = Fix(b - 1)    ''<FONT Color=#006400>'...oppure così: ''b = Fix(b) - 1'' ,  il risultato è identico.''</font>
+
   b = Fix(b - 1)    <FONT Color=gray>' ''...oppure così: ''b = Fix(b) - 1'' ,  il risultato è identico.''</font>
 
   
 
   
 
   Print "b = "; b
 
   Print "b = "; b

Versione delle 11:22, 28 dic 2013

Se vogliamo ottenere un arrotondamento di un numero con la virgola, possiamo utilizzare la funzione Round() oppure la funzione Ceil().


Uso della funzione Round()

La funzione Round() arrotonda un numero al più vicino intero a seconda di alcuni casi.


Arrotondamento all'unità superiore

Se il primo numero decimale è uguale o supriore a 5, si avrà un arrotondamento all'unità superiore:

Public Sub Button1_Click()

 Dim a As Float

 Print Round(87326.5)

End

In console avremo:
87327


Arrotondamento all'unità inferiore

Se il primo numero decimale è inferiore a 5, 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


Uso della funzione Ceil()

E', poi, possibile molto semplicemente utilizzare anche la funzione aritmetica Ceil(): se il numero è <SPAN style="text-decoration:underline"positivo</span> e contiene dei decimali, allora tale funzione restituirà un numero arrotondato all'unità intera superiore.

Public Sub Main()  

 Print Ceil(1.49)  
     
End

in console si avrà il risultato:
2


Arrotondamento senza la funzione Round

E' possibile effettuare l'arrotondamento senza alcuna funzione, anche escogitando qualcosa come questo esempio:

Public Sub Button1_Click()
 
 Dim a, b As Float = 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:
  b = Fix(b - 1)     ' ...oppure così: b = Fix(b) - 1 ,  il risultato è identico.

 Print "b = "; b

End

In console avremo:
a = 27
b = 25