2012-10-05 3 views
0

Existe-t-il un moyen d'arrondir au 50 000 le plus proche en PHP?Arrondir au 50 000 près en PHP

J'ai examiné round, mais les docs ne suggèrent pas un moyen de faire cela, et il semble que ce soit seulement pour arrondir au numéro le plus proche. Merci.

+0

... et les nombres négatifs? –

+0

Peut-être doubler le nombre, l'arrondir au 100000 le plus proche (2ème paramètre -5) et le réduire de moitié encore? – Erbureth

Répondre

11
/** 
* Round a number up to the nearest multiple of $n. 
* 
* @param int $int Number to round. 
* @param int $n Round to the nearest $n. 
* 
* @return int 
*/ 
function round_up_to_nearest_n($int, $n) { 
    return ceil($int/$n) * $n; 
} 
echo round_up_to_nearest_n(74268, 50000); //Outputs 100000 

diviser par le nombre que vous voulez arrondir contre, faire l'arrondi, puis multiplier par nouveau.

+0

Bien que dans ce cas, la question demande probablement 'ceil()'. –

+0

il veut arrondir – JvdBerg

+0

@JoachimIsaksson,! @JvdBerg: Corrigé. –

3

Que diriez-vous ceci:

$number = ceil($value/50000) * 50000; 
+0

50000 tours à 100000. –

+0

@JoachimIsaksson: corrigé – JvdBerg

+0

Parfait, merci. –

0

Essayez ceci:

$number = "78921"; 
$round = round($number/50000) * 50000; 
+0

Merci, mais comme je l'ai découvert avant de poster ceci, 'round()' arrondira à la fois haut et bas, quand il est toujours en place que j'ai besoin. C'est la fonction 'ceil()' que je ne connaissais pas qui a résolu cela pour moi. –

+1

@DavidGard Désolé, je n'avais pas remarqué le "arrondi";) –