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 ...
随机推荐
- 20145223《Java程序程序设计》第2周学习总结
20145223 <Java程序设计>第2周学习总结 教材学习内容总结 一: 1.基本的类型: (1)整数:short(2字节).int(4字节).long(8字节) (2)字节 byte ...
- node http 服务
var http = require("http") http.createServer(function(req,res){ res.writeHead(200,{"C ...
- 【转】win8.1下安装ubuntu
参考:http://jingyan.baidu.com/article/14bd256e0ca52ebb6d26129c.html Ubuntu 系统是一款优秀的.基于GNU/Linux 的平台的桌面 ...
- MapReduce应用案例--单表关联
1. 实例描述 单表关联这个实例要求从给出的数据中寻找出所关心的数据,它是对原始数据所包含信息的挖掘. 实例中给出child-parent 表, 求出grandchild-grandparent表. ...
- docker不稳定 short running containers with -rm failed to destroy
正常运行以下命令 sudo docker run --rm busybox echo helloworld /var/log/upstart/docker.log 日志如下: // :: POST / ...
- 线程---JDK查看线程
JDK和LINUX提供的查看当前运行的线程的工具: KILLkill -3 [pid]:线程相关信息会列在Console上JSTACKjstack [pid]:查看线程运行状况,如等锁,运行等JCON ...
- BZOJ4449 : [Neerc2015]Distance on Triangulation
首先拓扑,每次取出度数为$2$的点,这样可以把所有三角形都找到. 那么建出对偶图,会发现是一棵树. 对这棵树进行点分治,每次取出重心,DFS求出所有在里面的点,然后从重心$3$个点分别做一次BFS. ...
- storm 原理简介及单机版安装指南——详细版【转】
storm 原理简介及单机版安装指南 本文翻译自: https://github.com/nathanmarz/storm/wiki/Tutorial 原文链接自:http://www.open-op ...
- awk 学习
1. awk用例 今天用awk来统计一个字符出现的次数,总是比实际多一个.查了半天才发现问题所在. 文本tt.txt如下: <lst name="responseHeader" ...
- NOIP 2013 货车运输【Kruskal + 树链剖分 + 线段树 】【倍增】
NOIP 2013 货车运输[树链剖分] 树链剖分 题目描述 Description A 国有 n 座城市,编号从 1 到 n,城市之间有 m 条双向道路.每一条道路对车辆都有重量限制,简称限重.现在 ...