如果积极的PHP,如果负面向下舍入?

时间:2011-03-04 12:35:14

标签: php

如果为正,则向下舍入为负? 我有

$rounded =1000

39528,65 round should be --> 39000

AND

-30965,77 --> -31000

4 个答案:

答案 0 :(得分:4)

使用

更新

$value= ($number>0)  ? floor($number) : ceil ($number);

参考
1. floor
2. ceil

答案 1 :(得分:3)

尝试使用:

$rounded = 1000;
foreach(array(39528.65, -30965.77) as $num) {
  echo $num,' -> ', floor($num/$rounded)*$rounded,"\n";
}

<强>输出:

39528.65 -> 39000
-30965.77 -> -31000

答案 2 :(得分:0)

您可以使用abs获取绝对值,如下所示:

round(abs(-30965,77))

如果您的号码是否定的,abs将返回正数。否则它将返回正数。然后,您可以使用round(以您所需的精度)来舍入您的值。

答案 3 :(得分:0)

直接int cast似乎可以完成这项工作,如果你的向上/向下舍入表示楼层/ ceil

echo (int)( 8.5/8); //  1 = floor( 8.5/8)
echo (int)(-8.5/8); // -1 =  ceil(-8.5/8)