① php取余 8%(-2)
%是模运算,就是取余的意思。 8除-2 的-4 余0 ,所以是0了 这个说法是对的,只是他没说全,PHP在取余前,会先前将被除数四舍五入取整后再除的,所以,你上面的1.3,1.2之类的就都成了8%1了,余数肯定为0了,
② php 如何判断整除
可以根据取余运算判断
python">$a=5
if(!($a%5)&&$a)
echo$a."可以被5整除";
③ php中9跟7求余怎么能求出2
%就是取余,9%7的结果就是9/7的余数,等于2
④ thinkphp中if条件中取余怎么写
//PHP中有取余的运算符,如拿9对2取余
$number=9%2;
if($number==1){
//
}else{
//
}
⑤ php中的求模%搞不懂,具体解释下
PHP里面的%和C语言相同,是计算整除的余数,比如a%b,就是a整除以b后的余数,最小可以是,最大是b-1。
例如9%2=1,9%3=0,9%4=1
⑥ php怎么利用下述代码的基础上做加减乘除取余计算器
根据你的代码,我实现了一下。
你可以试一试,有问题再追问。
<!--文件6-1.php:表单数据传递-->
<HTML>
<HEAD>
<TITLE>表单数据传递</TITLE>
</HEAD>
<BODY>
<?php
if(isset($_POST["tag"])){
$addend1=$_POST["addend1"];
$addend2=$_POST["addend2"];
$method=$_POST['method'];
}else{
$addend1=0;
$addend2=0;
$method='+';
}
switch($method){
case'+':
$result=$addend1+$addend2;
break;
case'-':
$result=$addend1-$addend2;
break;
case'x':
$result=$addend1*$addend2;
break;
case'/':
$addend2=$addend2==0?1:$addend2;
$result=$addend1/$addend2;
break;
case'%':
$addend2=$addend2==0?1:$addend2;
$result=$addend1%$addend2;
break;
default:
$method='+';
$result=$addend1+$addend2;
}
?>
请在下面的表单中输入两数以求其值
<formname="form1"method="post"action="#">
<!--下面是一个隐藏表单,接收后用以来判断是提交前的页面还是提交后的页面-->
<inputtype="hidden"name="tag"size="4"value="1">
<inputtype="text"name="addend1"size="4"value="<?phpecho$addend1;?>">
<selectname="method">
<optionvalue='+'<?phpif($method=='+')echo"selected='selected'";?>>+</option>
<optionvalue='-'<?phpif($method=='-')echo"selected='selected'";?>>-</option>
<optionvalue='x'<?phpif($method=='x')echo"selected='selected'";?>>x</option>
<optionvalue='/'<?phpif($method=='/')echo"selected='selected'";?>>/</option>
<optionvalue='%'<?phpif($method=='%')echo"selected='selected'";?>>%</option>
</select>
<inputtype="text"name="addend2"size="4"value="<?phpecho$addend2;?>">
=
<?phpecho$result;?><br>
<br><inputtype="submit"name="button1"value="计算">
<inputtype="reset"name="button2"value="重置">
</form>
</BODY>
</HTML>
⑦ PHP取余数 怎么取出来是负数
这个的确是PHP的BUG,参考文章内容如下:
我们先来看个例子.
$res = 16244799483;
echo $res%9999999;
// 输出结果为 -5069794, 正确的结果应该是4801107
其实这也算上PHP一个BUG吧.最主要是PHP是个弱类型语言.他内置了机器来判断用户的类型.
但是机器毕竟是机器.也有判断出错的时候.就像上面.所以这时候我们就需要人工干预下.
所以我就想到要用下面的方法来解决PHP整数取余返回负数的问题.
$res = floatval(16244799483);
var_mp($res % 9999999);
我们看到结果还是错误的-5069794.
但是值得注意的是返回是一个int类型的.
详细思考了一下.PHP整数取余返回负数的问题是这样处理的.
PHP取余默认为整数的.
而且当你定义$res = 16244799483;
其实就已经溢出了.所以要加上强制类型转换.变成float类型.
但是这样还不够.因为%这个取模计算还是针对整数的.
所以我们需要一个函数fmod.是针对float类型的.
所以最终PHP整数取余返回负数的解决办法为:
$res = floatval(16244799483);
var_mp(fmod($res,9999999));
这样我们就解决了PHP整数取余返回负数这个问题.
大体明白了吧,其实一般不会出现使用PHP做大量科学计算的~~
⑧ php中对多位整数向上取余怎么做,例如15325变成16000
/**
+-------------------------------------------------
* @param int $amount 目标数字
+-------------------------------------------------
* @param int $num 向上取整的位数
+-------------------------------------------------
* @return int
+-------------------------------------------------
*/
function rounding($amount,$num)
{
$change = 1;
for($i = 0;$i < $num;$i++){
$change = $change * 10;
}
return ceil($amount/$change)*$change;
}
echo rounding(15325,3);
⑨ php中用除法得余数怎么编写代码
php中除法是/,取余数是使用%.
要计算除法得到的余数,只需要使用%就行了:
echo5%3;//得余数2
⑩ php中%的具体算法
就是2.
取余算法就是除法的一种,用于返回不能被除净的余数。如果能被除净,返回0;
例如:
2/10=0......2 <--2是余数
13/10=1......3 <--3是余数
12/5=2......2 <--2是余数
12/3=4 <--没有余数
所以
2%10=2
13%10=3
12%5=2
12%3=0