2010-06-22 11 views
7

E 'possibile arrotondare un decimali dall'aeroporto più 0,5 con PHP in questo modo:PHP rotonde decimali

number | round 
---------------- 
1.29 | 1.50 
2.03 | 2.00 
1.43 | 1.50 
1.13 | 1.00 
11.38 | 11.50 

ho provato con:

$rnd= round($number,2); 

ma ottengo decimali come quello della colonna "numero" sopra.

+0

Attendere quale colonna è l'input e quale è l'uscita? –

+0

Supponendo 1.73 -> 2? –

+1

Il risultato è arrotondato al centesimo più vicino come hai detto. Ma non intendevi quello che hai detto. – plor

risposta

16
function round_to_nearest_half($number) { 
    return round($number * 2)/2; 
} 
+0

Che cos'è $ f? E non hai bisogno della precisione se è 0. – plor

+0

function round_to_nearest_half ($ originale) {return (round ($ original * 2)/2);} Sarebbe più come! – RobertPitt

+0

@plor yeah, ho cambiato idea circa il nome della variabile a metà strada. E sì, hai ragione, non hai bisogno del secondo argomento, ho appena scelto la sintassi utilizzata dall'OP. – Artefacto

-2

È non vogliono scrivere qualsiasi funzione per questa funzione PHP rotonda già hanno la possibilità, in modalità è un terzo argomento della funzione round. per ulteriori informazioni PHP Round Function

+2

No, non ha. Il terzo argomento nella funzione round() determina come questa funzione dovrebbe arrotondare a metà. 'round (1.5, 0, PHP_ROUND_HALF_UP); // 2' 'round (1.5, 0, PHP_ROUND_HALF_DOWN); // 1' 'round (1.5, 0, PHP_ROUND_HALF_EVEN); // 2' 'round (1.5, 0, PHP_ROUND_HALF_ODD); // 1' 'round (1.55, 1, PHP_ROUND_HALF_UP); // 1.6' 'round (1.55, 1, PHP_ROUND_HALF_DOWN); // 1.5' 'round (1.55, 1, PHP_ROUND_HALF_EVEN); // 1.6' 'round (1.55, 1, PHP_ROUND_HALF_ODD); // 1.5' –