Crea sito

Pillole di php – Arrotondare un numero

| 24 settembre 2012 | 0 Comments

PHP LogoMolto spesso capita di dover arrotondare dei numeri e ci si pone il problema su quali siano i modi migliori (e le funzioni) per farlo. Ecco allora che vi rpesento un excursus sulle funzioni di arrotondamento di un numero in php.

Mettiamo di avere il numero 145,7352. Analizzando il numero per prima cosa notiamo che è un numero in notazione italiana ovvero con la , in php la notazione è quella inglese ovvero col punto al posto della virgola quindi sarà da scrivere come 145.7352.

$num = 145.7352;

A questo punto iniziamo con i vari tipi di arrotondamento:

Arrotondamento per eccesso ad un intero

echo ceil($num); // il risultato sarà 146, ovvero l’intero successivo

Arrotondamento per difetto ad un intero

echo floor($num); // il risultato sarà 145, ovvero l’intero senza la parte dopo la virgola

Arrodontamento al numero intero più vicino

echo round($num); // il risultato sarà 146, ovvero l’intero successivo essendo la parte decimale (.7352) più vicina al 146 che al 145

Arrotondamento al numero decimale più vicino con due sole cifre decimali

echo number_format($num, 2, ‘,’, ”); // il risultato sarà 145.74 essendo .7352 più vicino al .74 che al .73. Il primo parametro da fornire alla funzione è il numero, il secondo le cifre decimali che si vogliono nell’arrotondamento finale, il terzo è il carattere separatore per i decimali ed il quarto per le migliaia (nel nostro caso è vuoto)

Questi sono i metodi principali, ne esistono altri meno utilizzati ma sempre validi e sono i seguenti:

Arrotondamento ad intero per difetto

echo sprintf(“%d”, $num); // il risultato sarà 145. Il parametro %d indica che la conversione del numero in input, di qualsiasi tipo sia verrà effettuata verso un intero (in questo caso come nei precedenti con segno positivo o negativo a seconda del numero inserito)

Arrotondamento al numero decimale più vicino con 2 sole cifre decimali

echo sprintf(“%.2f”, $num); // il risultato sarà 145.74. Il primo parametro è composto da %f che indica la conversione in numero decimale mentre il “.2” posizionato al centro indica di prendere solo 2 cifre dopo la virgola. L’arrotondamento avviene in automatico. sostituendo “F” ad “f” si può avere una versiona localizzata (a seconda di come è stato impostato il server se con notazione inglese, italiana, francese, etc etc) ma raramente ho visto Apache settati con altri standard numeri che non fossero quelli inglesi

Buon arrotondamento a tutti! 😉

VN:F [1.9.22_1171]
Rating: 9.3/10 (4 votes cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)
Pillole di php - Arrotondare un numero, 9.3 out of 10 based on 4 ratings

Tags: , , , , , , ,

Category: Informatica

About the Author ()

Leave a Reply