首页 > 编程知识 正文

excel中取余数的函数,php取模运算

时间:2023-05-03 10:54:38 阅读:161858 作者:132

$val=9.45;

$result=$val*100;

echo $result0; //44

提问者很奇怪,为什么上面的输出记忆不是想象中的45而是44。 如果你是:

echo 9450 //45

那么结果应该是45。 这是因为php默认情况下对变量进行四舍五入并进行剩余运算。

请看下面的php代码。

/*

//*

*这是在官方评论中找到的任意数量上取余数的函数的实现。 (往下看,写的是10年。 )

* my _ bcmod-get modulus (substituteforbcmod ) )。

* string my _ bcmod (string left _ operand,int modulus ) )。

* left_operand can be really big,but be carefull with modulus : (

* byandriusbaranauskasandlaurynasbutkus : ) Vilnius,Lithuania

*/

function my_bcmod($x,$y )

{

//how many numbers to take at once? carefull not to exceed (int )

$take=5;

$mod=' ';

do

{

$a=(int ) $mod.substr ) $x,0,$take );

$x=substr($x,$take );

$mod=$a % $y;

}

wile(Strlen ) $x;

返回(int ) $mod;

}

//example

$a='7044060001970316212900 ';

$b=150;

echomy_bcmod($a,$b ).PHP_EOL;

echobcmod($a,$b ).PHP_EOL;

echo $a % $b;

* name: mckee

* blog: http://www.phpddt.com

*/

$val=9.45;

$result=$val*100;

echointval($result; //这里输出944

echo $result0; //在此为输出44

echofmod(floatval ) $result,100 ); //在此为输出45

对于大整数,php可能会溢出并返回负数。 (这是因为php默认使用整数取余数,所以转换为float型() )。)。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。