php数字操作,高精度函数,保留计算结果小数位

$l = 45456.51;
$r = 455778.44;
$e = '100.00';
$f= '500.00';
$res = bcadd($l, $r,3);//小数点后的位数,精度就是由这个参与决定的
$res1 = bcadd((string)$l,(string)$r,3);//小数点后的位数,精度就是由这个参与决定的


var_dump($res);
echo '<br>';

 

//如果两个数相等返回0, 左边的数left_operand比较右边的数right_operand大返回1, 否则返回-1.
echo bccomp($l, $r);
echo '<br>';

//返回字符串类型取模后结果,如果系数为0则返回null
echo bcdiv($l, $r,5);
echo '<br>';


//将二个高精确度数字相除。
echo bcmod('4', '2'); 
echo '<br>';


//将二个高精确度数字相乘。
echo bcmul($l, $r,5);
echo '<br>';

 

//此函数求一高精确度数字 x 的 y 次方。
echo bcpow('2', '6',5);
echo '<br>';


//设置所有bc数学函数的默认小数点保留位数.相当于全局提前设置,之后程序若无特别指定,则依此配置的小数点位数。
echo bcscale(10);
echo bcdiv('105', '6.55957');
echo '<br>';
echo bcdiv('105', '6.55957',3);
echo '<br>';

//此函数求一高精确度数字开平方根值
echo bcsqrt('5',5);
echo '<br>';

 

//此函数将二个高精确度的数字相减,传入二个字符串,以左边的 (left operand) 减去右边的 (right operand) 值
echo bcsub($l, $r,5);
echo '<br>';

 

//其他函数,这个函数也可以,这个函数也很方便
echo number_format($l*$r,5);
echo '<br>';

//这个函数有个缺点,就是千分位是逗号,需要自己变动参数
echo number_format("1000000",2,",",".");第三个参数是","第四个是"."可以设置


//其他函数 //获取环境变量 echo getenv('REMOTE_ADDR'); //设置环境变量 //putenv(); //PHP Math 函数 //数的绝对值 $abs = abs(-4.2); // $abs = 4.2; (double/float) $abs2 = abs(5); // $abs2 = 5; (integer) //函数把二进制转换为十进制。 echo bindec("11000110011"); echo '<br>'; $oct = "364"; echo $hex = base_convert($oct,8,16); echo '<br>'; //返回不小于 x 的下一个整数,x 如果有小数部分则进一位。ceil() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。 //和我们一般意义上的四舍五入不一样 echo ceil(0.60); echo '<br>'; echo ceil(0.40); echo '<br>'; echo ceil(5); echo '<br>'; echo ceil(5.1); echo '<br>'; echo ceil(-5.1); echo '<br>'; echo ceil(-5.9); //返回不大于 x 的下一个整数,将 x 的小数部分舍去取整。 echo(floor(0.60)); echo '<br>'; echo(floor(0.40)); echo '<br>'; echo(floor(5)); echo '<br>'; echo(floor(5.1)); echo '<br>'; echo(floor(-5.1)); echo '<br>'; echo(floor(-5.9)); echo '<br>'; //返回被除数(x)除以除数(y)所得的浮点数余数。 echo fmod(10,3); echo '<br>'; //返回调用 rand() 可能返回的最大值。 echo rand(); echo '<br>'; echo getrandmax(); echo '<br>'; //4.1被抛弃 echo mt_srand(mktime()); echo '<br>'; //播下随机数发生器种子 echo srand(); echo '<br>'; echo mktime(); echo '<br>'; //四舍五入函数 echo(round(0.50)); echo '<br>'; echo(round(0.49)); //随机10-1000内的书 echo(rand(10,100)); echo '<br>'; //返回 x 的 y 次方。 echo pow(-6,2); echo '<br>'; //圆周率 echo pi(); echo '<br>'; //返回数组里面最大值和最小值 ///PHP 会将非数值的 string 当成 0,但如果这个正是最小的数值则仍然会返回一个字符串。如果多个参数都求值为 0 //且是最小值,min() 会返回按字母表顺序最小的字符串,如果其中没有字符串的话,则返回数值的 0。 echo(max(7.25,7.30)); echo '<br>'; echo(min(7.25,7.30)); echo '<br>'; echo max('aaa','abc');
原文地址:https://www.cnblogs.com/zx-admin/p/4765542.html