Livecode mette a disposizione le sola funzioni round() e trunc() per tale operazione, ma bisogna sapere come applicarla.
Facciamo degli esempi per vedere come sfruttarla al massimo. Il primo sarà semplicemente arrotondare qualunque numero all'intero più vicino:
put round(2.4) # il risultato è 2
put round(2.6) # il risultato è 3
adesso proviamo ad arrotondare alla prima cifra decimale:
put round(2.712, 1) # il risultato è 2.7
put round(2.765, 1) # il risultato è 2.8
se vogliamo solo la parte intera di un numero (troncare), basta:
put trunc(2.712) # il risultato è 2
Ora viene la parte difficile, certe volte ci serve di arrotondare al numero intero superiore (ceiling o parte intera superiore), esempio 2.1 che diventi 3. Per fare questo bisogna scrivere la seguente funzione:
function ceiling pNumber
if pNumber < zero or pNumber is an integer then
return trunc(pNumber)
else
return trunc(pNumber) + 1
end if
end ceiling
a questo punto la funzione è pronta:
put ceiling(2.1) # il risultato è 3
Un'altra possibilità della funzione round() è di poter ottenere numeri interi arrotondando ai decimali, centinaia e così via. Per fare questo bisogna utilizzare i numeri negativi come precisione dell'arrotondamento, esempio:
put round(1234, -1) # il risultato è 1220
put round(1236, -1) # il risultato è 1230
put round(1236, -2) # il risultato è 1200
put round(1236, -3) # il risultato è 1000
Per finire questa panoramica vi mostro statRound() che è una funzione simile a round(), ma solo per fini statistiche; quindi usatela solo sapete bene cosa vi può uscire come risultato. Ecco alcuni esempi:
put statRound(2.5) # il risultato è 2, perchè 2 è pari (arrotonda in difetto)
put statRound(3.5) # il risultato è 4, perchè 3 è dispari (arrotonda in eccesso)
put statRound(22.753, 2) # il risultato è 22.75
put statRound(723.2, -1) # il risultato è 720
Nessun commento:
Posta un commento