2016-05-02 2 views
-4

Ich weiß, dass der folgende Code wird die Zahlen entfernen sind der Punkt. Runde ($ Nummer);Runde Zahl in php in Abhängigkeit von dem Wert

Ich möchte die Zahlen abzurunden wie folgt, wenn Nummer 20,123 ist I 20 führen wollen, Wenn Zahl 20,567 ich führen will 21

bedeutet, wenn der Wert unter 0,5 ist, sollte es diesen Wert entfernen . Wenn Wert wenn .5 oder höher, sollte es aufgerundet werden. Wie? Wer hilft?

+0

Verwendung 'ceil' und' floor' durch die Ziffer nach dem '.' überprüfen. –

+1

Verwenden Sie rund es gibt Ihnen genau das, was Sie suchen –

+1

Runde wird genau das tun. https://3v4l.org/kP5Pf – Yoshi

Antwort

1

round($number) wird tun, was Sie wollen:

round(20.156); // 20 
round(20.651); // 21 

Live example

0

Try this:

verwenden, um die ceil, floor, explode und substr Funktion Sie Wert zu erreichen.

$num = "20.123"; 
$arr = explode(".", $num); 

if(substr($arr[1], 0, 1) >= 5){ 
    $num = ceil($num); 
}else{ 
    $num = floor($num); 
} 
echo $num; 

Ergebnis:

Auch können Sie die round-Funktion verwenden.

round(20.156); // 20 
round(20.651); // 21 
0

Ich bin sicher, es funktioniert gut.

<?php 
$var = 22.443; 
$var = number_format($var, 0, '.', ''); 
echo $var; 
?> 
+0

Ihr Code tut genau das, was 'round()' tut – Justinas

0
function get_decimal_num($number){ 
    $num = explode('.', $number); 
    return $num[1]; 
} 
$num = 10.5 ; // for example 

$val = get_decimal_num($num); 

if($val >= 5) 
{ 
    $value = (int) $num; 
    echo $value = $value + 1; 
} 
if($val < 5) 
{ 
    echo $num; 
} 

Plese check it... 
Verwandte Themen