2016-05-02 5 views
-4

私は次のコードを知っている点数を削除します。 round($ number);値に応じてPHPでのラウンド番号

を次のように私は値が0.5以下であれば、それはその値を削除する必要があり数は20.567 であれば、私は21の

手段を引き起こすたい 、数は20.123 であれば、私は20の結果たい数字を丸めます。 値が.5以上の場合は切り上げる必要があります。 どのようにですか? 誰でも手伝いますか?

+0

使用 'ceil'と' '.'の後の数字をチェックしてfloor'を。 –

+1

ラウンドを使用すると、あなたが探しているものを正確に表示します –

+1

ラウンドはそれを正確に行います。 https://3v4l.org/kP5Pf – Yoshi

答えて

1

round($number)あなたがやりたいことになります。

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

Live example

0

はこれを試してみてください:

はあなたの価値を実現するためにceilfloorexplodesubstr関数を使用します。

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

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

結果:

また、あなたがround機能を使用することができます。

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

私はそれがうまくいくと確信しています。

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

あなたのコードは 'round()'とまったく同じです – 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... 
関連する問題