我正在使用modulo运算符,如下所示,但是当我运行它时报告Division by zero错误并分配给$new.我怎样才能解决这个问题?
$per = 0.2;
$a = 20;
$new = $a % $per;
Run Code Online (Sandbox Code Playgroud)
在您的示例中,$per是浮点数(0.2).根据PHP手册,模运算符只接受两个整数操作数:
模数的操作数在处理之前转换为整数(通过去除小数部分).对于浮点模,请参阅
fmod().
由于运算符只接受整数操作数,因此$per将值0.2转换为0,从而产生错误.如手册中所述,您可以使用fmod替代方法:
$new = fmod($a, $per);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
233 次 |
| 最近记录: |