Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果为负,则向上取整;如果为正,则向下取整?_Php - Fatal编程技术网

Php 如果为负,则向上取整;如果为正,则向下取整?

Php 如果为负,则向上取整;如果为正,则向下取整?,php,Php,如果为负,则向上取整如果为正,则向下取整? 我有 $rounded=1000 39528,65 round should be --> 39000 及 您可以使用获取绝对值,如下所示: round(abs(-30965,77)) 如果您的号码是负数,abs将返回正数。否则它将返回正数。然后,您可以使用舍入(具有所需的精度)来舍入您的值。您可以使用来获得绝对值,如下所示: round(abs(-30965,77)) 如果您的号码是负数,abs将返回正数。否则它将返回正数。然后,您可以使

如果为负,则向上取整如果为正,则向下取整? 我有

$rounded=1000

39528,65 round should be --> 39000

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

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

您可以使用来获得绝对值,如下所示:

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

使用

更新 参考文献
1.
2.

使用

更新 参考文献
1.
2.

尝试一下:

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

39528.65 -> 39000
-30965.77 -> -31000
尝试一下:

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

39528.65 -> 39000
-30965.77 -> -31000

如果你的向上/向下取整意味着地板/天花板,那么直接的整数转换似乎可以完成这项工作

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

如果你的向上/向下取整意味着地板/天花板,那么直接的整数转换似乎可以完成这项工作

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

如果你想四舍五入,则不可以:)如果你想四舍五入,则不可以:)你的示例显示两次四舍五入。你的示例显示两次四舍五入said@IEnAk:19528.65给我19000对不起,我无法理解输入。你是对的,谢谢你确定结果是什么said@IEnAk:19528.65给我19000对不起,我没有理解你的意思。你说得对,谢谢