$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数字操作,高精度函数,保留计算结果小数位的更多相关文章

  1. 数字操作 转为false的类型 typeof操作符 isNaN函数

    console.group('数字操作'); // 浮点数值的内存空间是整数的两倍: // 会alert出来3e-7;从小数点后面6个0开始,就用科学计数法了: //alert(0.0000003); ...

  2. sql操作一般函数

    sql操作一般函数 函数一般语法:SELECT function(列) FROM 表 函数的基本类型是: Aggregate 合计函数:函数的操作面向一系列的值,并返回一个单一的值. Scalar 函 ...

  3. PHP数组各种操作与函数汇总

    对于Web编程来说,最重要的就是存取和读写数据了.存储方式可能有很多种,可以是字符串.数组.文件的形式等.数组,可以说是PHP的数据应用中较重要的一种方式.PHP的数组函数众多,下面是我学习的小结,借 ...

  4. 菜鸡的Java笔记 数字操作类

    数字操作类        Math 类的使用        Random 类的使用        BigInteger 和 BigDecimal 类的使用                Math 是一 ...

  5. PHP 向 MySql 中数据修改操作时,只对数字操作有效,非数字操作无效,怎么办?

    问题描述:   用PHP向MySql数据库中修改数据,实现增删改(数据库能正确连接) 经测试,代码只能对数字进行正常的增删改操作,非数字操作无效   但要在课程名称中输入中文,应该如果修改呢?   存 ...

  6. c/c++再学习:常用字符串转数字操作

    c/c++再学习:常用字符串转数字操作 能实现字符串转数字有三种方法,atof函数,sscanf函数和stringstream类. 具体demo代码和运行结果 #include "stdio ...

  7. 浮点数乘积的取整intval,以及高精度函数bcmath的使用

    线上发现个bug,浮点数乘积以后取整,得到的数不符预期.还记得上次踩过的坑是数据库类型转换的一个问题.这个也相当于类型转换了..尴尬 浮点数计算的精度一定要谨慎. 例子如下: <?php $a ...

  8. TensorFlow 实现分类操作的函数学习

    函数:tf.nn.sigmoid_cross_entropy_with_logits(logits, targets, name=None) 说明:此函数是计算logits经过sigmod函数后的交叉 ...

  9. python 文件操作的函数

    1. 文件操作的函数 open(文件名(路径), mode="?", encoding="字符集") 2. 模式: r, w, a, r+, w+, a+, r ...

随机推荐

  1. AngularJS 指令(使浏览器认识自己定义的标签)

    对于angular js还有其强大之处,可以利用angular js的指令来自定义许多标签.下面是一个实例: 自定一个名为hello标签,视图如下: <div ng-app="myAp ...

  2. BZOJ总览

    1040: [ZJOI2008]骑士 树上加了一条边 断边再树形DP 断边调了好久 要了解题目性质 1045: [HAOI2008] 糖果传递 中位数水题 内含数学方程 变量搞一搞 bzoj1053: ...

  3. BFS HDOJ 2102 A计划

    题目传送门 题意:中文题面 分析:双层BFS,之前写过类似的题.总结坑点: 1.步数小于等于T都是YES 2. 传送门的另一侧还是传送门或者墙都会死 3. 走到传送门也需要一步 #include &l ...

  4. HDU5785 Interesting(Manacher + 延迟标记)

    题目 Source http://acm.hdu.edu.cn/showproblem.php?pid=5785 Description Alice get a string S. She think ...

  5. POJ3613 Cow Relays(矩阵快速幂)

    题目大概要求从起点到终点恰好经过k条边的最短路. 离散数学告诉我们邻接矩阵的k次幂就能得出恰好经过k条路的信息,比如POJ2778. 这题也一样,矩阵的幂运算定义成min,而min满足结合律,所以可以 ...

  6. Linux crontab 定时任务命令详解

    一.简介 crontab 命令用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于 crontab 文件中,以供之后读取和执行.通常,crontab 储存的指令被守护进程激活, cr ...

  7. ACM 关于521

    关于521 时间限制:1000 ms  |  内存限制:65535 KB 难度:2   描述 Acm队的流年对数学的研究不是很透彻,但是固执的他还是想一头扎进去. 浏览网页的流年忽然看到了网上有人用玫 ...

  8. 【BZOJ3343】教主的魔法 分块+二分

    Description 教主最近学会了一种神奇的魔法,能够使人长高.于是他准备演示给XMYZ信息组每个英雄看.于是N个英雄们又一次聚集在了一起,这次他们排成了一列,被编号为1.2.…….N. 每个人的 ...

  9. 再谈Jquery Ajax方法传递到action

     原始出处 :http://cnn237111.blog.51cto.com/2359144/984466  本人只是转载 原文如下: 假设 controller中的方法是如下: public Act ...

  10. 用CSS设置Table的细边框的最好用的方法

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...