在像C或Python 2这样的语言中,如果我用一个整数除以另一个整数,我会得到一个整数:
>>> 8/3 2
但在PHP中,如果我用/将一个整数除以另一个整数,有时会得到一个浮点数:
/
php > var_dump(6/3); int(2) php > var_dump(8/3); float(2.6666666666667)
我想用Python或C来做除法,这样8/3就等于2。我怎么用PHP来做呢?
jc3wubiy1#
在PHP中有几种方法来执行整数除法。语言中没有用于整数除法的运算符,但是有几种方法可以将浮点商舍入为整数:
<?php $pos = 1; $neg = -1; $divisor = 2; // No rounding (float division) var_dump($pos / $divisor); // 0.5 (float) var_dump($neg / $divisor); // -0.5 (float) // Round toward zero (like C integer division) var_dump((int)($pos / $divisor)); // 0 (int) var_dump((int)($neg / $divisor)); // 0 (int) // Round half away from zero var_dump(round($pos / $divisor)); // 1 (float) var_dump(round($neg / $divisor)); // -1 (float) // Round down var_dump(floor($pos / $divisor)); // 0 (float) var_dump(floor($neg / $divisor)); // -1 (float) # And on PHP 7 you can round toward zero with intdiv(): var_dump(intdiv($pos, $divisor)); // 0 (int) var_dump(intdiv($neg, $divisor)); // 0 (int) Rounded toward zero
在PHP 7中可以使用intdiv($p, $q)直接执行整数除法,这相当于PHP 5中的(int)($p / $q)。
intdiv($p, $q)
(int)($p / $q)
h5qlskok2#
(int)(1700000 / 300000);
使用类型转换。
roqulrg33#
对于PHP版本7 =〉intdiv(a,b)对于小于7的版本(如5.6)=〉(int)floor(abs(a/b))
intdiv(a,b)
(int)floor(abs(a/b))
mitkmikd4#
从PHP 7开始,我们可以使用intdiv内置函数来获取整数值:
intdiv(8,3); // 2
对于PHP的早期版本,我们可以使用round()函数来获得整数舍入值:
round()
round(8 / 3); // 3
或者我们可以使用floor()函数来获得一个整数值:
floor()
floor(8 / 3); // 2
6xfqseft5#
在PHP 7中,有一个intdiv函数可以完全按照您的要求执行操作。用法:
intdiv(8, 3);
返回2。
2
fquxozlt6#
PHP中没有整数除法运算符。1/2产生浮点数0.5。该值可以转换为整数以向下舍入,或者round()函数提供了对舍入的更好控制。
var_dump(25/7); // float(3.5714285714286) var_dump((int) (25/7)); // int(3) var_dump(round(25/7)); // float(4)
PhP manual
pbpqsu0x7#
用这个...
intval(1700000 / 300000 )...
这返回整数值。
cgvd09ve8#
对于PHP 7,请尝试intdiv()函数:***语法:***int intdiv($dividend, $divisor)
intdiv()
int intdiv($dividend, $divisor)
<?php $dividend = 19; $divisor = 3; echo intdiv($dividend, $divisor); ?>
对于较早版本的PHP:
<?php // Convert $total_minutes to hours and minutes. $total_minutes = 640; $minutes = $total_minutes % 60; $hours = ($total_minutes - $minutes) / 60; echo "Time taken was $hours hours $minutes minutes"; ?>
j2cgzkjk9#
您可以通过添加以下内容来使用短格式|0到结束8/3| 0
9条答案
按热度按时间jc3wubiy1#
在PHP中有几种方法来执行整数除法。语言中没有用于整数除法的运算符,但是有几种方法可以将浮点商舍入为整数:
在PHP 7中可以使用
intdiv($p, $q)
直接执行整数除法,这相当于PHP 5中的(int)($p / $q)
。h5qlskok2#
使用类型转换。
roqulrg33#
对于PHP版本7 =〉
intdiv(a,b)
对于小于7的版本(如5.6)=〉
(int)floor(abs(a/b))
mitkmikd4#
从PHP 7开始,我们可以使用intdiv内置函数来获取整数值:
对于PHP的早期版本,我们可以使用
round()
函数来获得整数舍入值:或者我们可以使用
floor()
函数来获得一个整数值:6xfqseft5#
在PHP 7中,有一个intdiv函数可以完全按照您的要求执行操作。
用法:
返回
2
。fquxozlt6#
PHP中没有整数除法运算符。1/2产生浮点数0.5。该值可以转换为整数以向下舍入,或者round()函数提供了对舍入的更好控制。
PhP manual
pbpqsu0x7#
用这个...
这返回整数值。
cgvd09ve8#
对于PHP 7,请尝试
intdiv()
函数:***语法:***
int intdiv($dividend, $divisor)
对于较早版本的PHP:
j2cgzkjk9#
您可以通过添加以下内容来使用短格式|0到结束
8/3| 0