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');
php数字操作,高精度函数,保留计算结果小数位的更多相关文章
- 数字操作 转为false的类型 typeof操作符 isNaN函数
console.group('数字操作'); // 浮点数值的内存空间是整数的两倍: // 会alert出来3e-7;从小数点后面6个0开始,就用科学计数法了: //alert(0.0000003); ...
- sql操作一般函数
sql操作一般函数 函数一般语法:SELECT function(列) FROM 表 函数的基本类型是: Aggregate 合计函数:函数的操作面向一系列的值,并返回一个单一的值. Scalar 函 ...
- PHP数组各种操作与函数汇总
对于Web编程来说,最重要的就是存取和读写数据了.存储方式可能有很多种,可以是字符串.数组.文件的形式等.数组,可以说是PHP的数据应用中较重要的一种方式.PHP的数组函数众多,下面是我学习的小结,借 ...
- 菜鸡的Java笔记 数字操作类
数字操作类 Math 类的使用 Random 类的使用 BigInteger 和 BigDecimal 类的使用 Math 是一 ...
- PHP 向 MySql 中数据修改操作时,只对数字操作有效,非数字操作无效,怎么办?
问题描述: 用PHP向MySql数据库中修改数据,实现增删改(数据库能正确连接) 经测试,代码只能对数字进行正常的增删改操作,非数字操作无效 但要在课程名称中输入中文,应该如果修改呢? 存 ...
- c/c++再学习:常用字符串转数字操作
c/c++再学习:常用字符串转数字操作 能实现字符串转数字有三种方法,atof函数,sscanf函数和stringstream类. 具体demo代码和运行结果 #include "stdio ...
- 浮点数乘积的取整intval,以及高精度函数bcmath的使用
线上发现个bug,浮点数乘积以后取整,得到的数不符预期.还记得上次踩过的坑是数据库类型转换的一个问题.这个也相当于类型转换了..尴尬 浮点数计算的精度一定要谨慎. 例子如下: <?php $a ...
- TensorFlow 实现分类操作的函数学习
函数:tf.nn.sigmoid_cross_entropy_with_logits(logits, targets, name=None) 说明:此函数是计算logits经过sigmod函数后的交叉 ...
- python 文件操作的函数
1. 文件操作的函数 open(文件名(路径), mode="?", encoding="字符集") 2. 模式: r, w, a, r+, w+, a+, r ...
随机推荐
- jQuery WipeTouch
有时,当你只想为触屏划动添加事件时,很多人可能会想到,Jquery mobile,但就这么个功能就把人家这么高大上的东西引用进来就有点大才小用了,WipeTouch是国外某程序员写的针对触屏划动的jq ...
- jQuery回车键提交表单
$(document).keyup(function(event) { if(event.keyCode==13) { $('btnSubmit').trigger(& ...
- iOS Aspect Fit,Aspect Fill,Scale To Fill
Scale:拉伸图片,图片变形. Aspect:图片长宽的保持比例,图片不变形. Aspect Fill(常用):图像充满容器.以长宽中小的参数为限制. Aspect Fit:图像在容器中完整显示.以 ...
- BOM和DOM的区别和关联
BOM 1. BOM是Browser Object Model的缩写,即浏览器对象模型. 2. BOM没有相关标准. 3. BOM的最根本对象是window. 从1可以看出来:BOM和浏览器关系密切. ...
- Apache ActiveMQの版本更迭和Apache ActiveMQの故障转移
本文描述apache activemq 版本更迭的原因以及Apache ActiveMQのThe Failover Transport new features in 5.2.0 1.对信息的传输/ ...
- CF# Educational Codeforces Round 3 A. USB Flash Drives
A. USB Flash Drives time limit per test 2 seconds memory limit per test 256 megabytes input standard ...
- HDU5735 : Born Slippy
考虑DP,设$f[x]$表示最后一个是$x$时的最优解,则$f[x]=\max(f[y]+w[x]\ opt\ w[y])$,其中$y$是$x$的祖先. 注意到$w[i]<2^{16}$,那么将 ...
- 关于struts2中表单提交时,中文乱码问题的解决
http://blog.csdn.net/hjw506848887/article/details/8966194 今天写项目时,突然遇到了struts2中表单提交的中文乱码问题,调了好久就是不知道答 ...
- 移动端 设计与开发经验之ViewPort
Viewport :字面意思为视图窗口,在移动 web 开发中使用.表示将设备浏览器宽度虚拟成一个特定的值(或计算得出),这样利于移动 web 站点跨设备显示效果基本一致. 基本写法: <met ...
- OpenResty+lua+GraphicsMagick生成缩略图
1.安装GraphicsMagick 下载地址:http://sourceforge.net/projects/graphicsmagick/files/graphicsmagick/1.3.19/G ...