本文目录一览:
- 1、PHP怎么实现整除
- 2、php中怎么实现两数相除时,如果是整数结果就不变,如果结果有小数点就把整数+1,
- 3、PHP-bc函数及其应用详解
- 4、PHP中除法运算的结果都为浮点数,即使相除的两个变量都为整数。 为什么
PHP怎么实现整除
如果我们使用’/'操作符进行除法运算时,如果遇到无法除尽的情况,会得到小数值。如果我只希望得到整数部分,怎么办呢?
在PHP的数学函数库里提供了多个函数供我们选择:
1、round函数, 对浮点数进行四舍五入。这个应该是最符合大家需要的吧。
php echo round(10/3); // 3
2、ceil函数, 进一法取整。
php echo ceil(4.3); // 5
3、floor ,舍去法取整,舍去小数部分
php echo floor(4.3); // 4 echo floor(9.999); // 9
php中怎么实现两数相除时,如果是整数结果就不变,如果结果有小数点就把整数+1,
if(is_float($a/$c)) //判断符点型
{$n=$a/$c;
$n++;
echo (int)($n); //强制转换整型
}else{
$n=$a/$c;
echo ++$n;}
PHP-bc函数及其应用详解
bcadd —— 两个任意精度数字的加法计算 (PHP 4, PHP 5, PHP 7, PHP 8)
bcadd ( string $num1 , string $num2 , ?int $scale = null ): string
注:对 num1 和 num2 求和。
参数:
num1 — 左操作数,字符串类型。
num2 — 右操作数,字符串类型。
scale — 此可选参数用于设置结果中小数点后的小数位数。也可通过使用 bcscale() 来设置全局默认的小数位数,用于所有函数。如果未设置,则默认为 0。 现在 scale 可以为 null。
返回值: 以字符串返回两个操作数求和之后的结果。
范例:
bcsub —— 两个任意精度数字的减法 (PHP 4, PHP 5, PHP 7, PHP 8)
bcsub ( string $num1 , string $num2 , ?int $scale = null ): string
注: num1 减去 num2 。
参数:
num1 — 左操作数,字符串类型。
num2 — 右操作数,字符串类型。
scale — 此可选参数用于设置结果中小数点后的小数位数。也可通过使用 bcscale() 来设置全局默认的小数位数,用于所有函数。如果未设置,则默认为 0。 现在 scale 可以为 null。
返回值: 以 string 类型返回减法之后的结果。
范例:
bcmul —— 两个任意精度数字乘法计算 (PHP 4, PHP 5, PHP 7, PHP 8)
bcmul ( string $num1 , string $num2 , ?int $scale = null ): string
注: num1 乘以 num2 。
参数:
num1 — 左操作数,字符串类型。
num2 — 右操作数,字符串类型。
scale — 此可选参数用于设置结果中小数点后的小数位数。也可通过使用 bcscale() 来设置全局默认的小数位数,用于所有函数。如果未设置,则默认为 0。 现在 scale 可以为 null。
返回值: 以 string 类型返回减法之后的结果。
范例:
bcp —— 两个任意精度的数字除法计算 (PHP 4, PHP 5, PHP 7, PHP 8)
bcp ( string $num1 , string $num2 , ?int $scale = null ): string
注: num1 除以 num2 。
参数:
num1 — 左操作数,字符串类型。
num2 — 右操作数,字符串类型。
scale — 此可选参数用于设置结果中小数点后的小数位数。也可通过使用 bcscale() 来设置全局默认的小数位数,用于所有函数。如果未设置,则默认为 0。 现在 scale 可以为 null。
返回值: 以 string 类型返回减法之后的结果。
范例:
bccomp —— 比较两个任意精度的数字 (PHP 4, PHP 5, PHP 7, PHP 8)
bccomp ( string $num1 , string $num2 , ?int $scale = null ): int
注: 比较 num1 和 num2 , 并且返回整型数字的结果。
参数:
num1 — 左边的运算数,是一个字符串。
num2 — 右边的运算数,是一个字符串。
scale — 可选的 scale 参数被用作设置指示数字, 在使用来作比较的小数点部分。
返回值: 两个数相等时返回 0; num1 比 num2 小时返回 -1; 其他则返回 1。现在 scale 可以为 null。
范例:
bcmod —— 任意精度数字取模 (PHP 4, PHP 5, PHP 7, PHP 8)
bcmod ( string $num1 , string $num2 , ?int $scale = null ): string
注: 对 num1 使用 num2 取模。 除非 num2 是零,否则结果必定和 num1 有相同的符号。
参数:
num1 — string 类型的被除数。
num2 — string 类型的除数。
scale — 现在 scale 可以为 null。
返回值: 返回字符串类型取模后的结果,如果 num2 为 0 则返回 null。
范例:
bcpow—— 任意精度数字的乘方 (PHP 4, PHP 5, PHP 7, PHP 8)
bcpow ( string $num , string $exponent , ?int $scale = null ): string
注: num 的 exponent 次方运算。
参数:
num — string 类型的底数。
exponent — string 类型的指数。 如果指数不是整数,将被截断。 指数的有效范围取决于平台,但起码支持 -2147483648 到 2147483647 的范围。
scale — 此可选参数用于设置结果中小数点后的小数位数。也可通过使用 bcscale() 来设置全局默认的小数位数,用于所有函数。如果未设置,则默认为 0。
返回值: 返回字符串类型的结果。
范例:
bcpowmod —— 先取次方然后 取模 。 (PHP 5, PHP 7, PHP 8)
bcpowmod ( string $num , string $exponent , string $modulus , ?int $scale = null ): string
注: 先取次方然后取模。
参数:
base — 左操作数。它是一个字符串类型的参数。
exponent — string 类型的指数。 指数的正确操作数。
modulus — string 类型的 参 数。 接受表示模数的操作数。
scale — 一个整数类型参数。它说明 ( base exponent %mod ) 结果中小数点后的位数。其默认值为 0。
返回值: 该函数将结果作为字符串返回。或者,如果模数为 0 或指数为负,则返回 False。
范例:
bcscale —— 设置/获取所有 bc math 函数的默认小数点保留位数 (PHP 4, PHP 5, PHP 7, PHP 8)
bcscale ( int $scale ): int
设置所有 bc math 函数在未设定情况下的小数点保留位数。
bcscale ( null $scale = null ): int
注: 获取当前的小数点保留位数。
参数:
scale — 小数点保留位数。
返回值: 设置的时候,返回之前的小数点保留位数。否则就是返回当前的位数。
范例:
bcsqrt —— 任意精度数字的二次方根 (PHP 4, PHP 5, PHP 7, PHP 8)
bcsqrt ( string $num , ?int $scale = null ): string
注: 返回 num 的二次方根。
参数:
num — string 类型的操作数 。
scale — 此可选参数用于设置结果中小数点后的小数位数。也可通过使用 bcscale() 来设置全局默认的小数位数,用于所有函数。如果未设置,则默认为 0。
返回值: 以 string 类型返回二次方根的结果,如果 num 是负数则返回 null。
范例:
PHP中除法运算的结果都为浮点数,即使相除的两个变量都为整数。 为什么
不是的,商有小数点的时候才是浮点形式,没有小数点的时候就是int类型,只是除数和被除数都要为int类型