$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. Java类与对象的基础学习

    1. 请输入并运行以下代码,得到什么结果? public class Test{ public static void main(String args[]){ Foo obj1=new Foo(); ...

  2. wpf,图片灰化处理

    private BitmapSource ToGray(BitmapSource source) { FormatConvertedBitmap re = new FormatConvertedBit ...

  3. C# 词法分析器(三)正则表达式

    系列导航 (一)词法分析介绍 (二)输入缓冲和代码定位 (三)正则表达式 (四)构造 NFA (五)转换 DFA (六)构造词法分析器 (七)总结 正则表达式是一种描述词素的重要表示方法.虽然正则表达 ...

  4. WebApi 2:属性路由 [Route()],attribute routing

    原文:http://www.asp.net/web-api/overview/web-api-routing-and-actions/attribute-routing-in-web-api-2 属性 ...

  5. node.js文件系统

    FS文件系统 第一次用这个的时候非常爽,可以在代码层编写“增删改查”文件的功能.分解里面提供的方法,接下来我们从头创建开始,最后删除文件结束,一套流程接下fs文件系统的神奇. 要使用fs文件系统就要引 ...

  6. 51nod p1175 区间中第K大的数

    1175 区间中第K大的数 基准时间限制:1 秒 空间限制:131072 KB 分值: 160 难度:6级算法题   一个长度为N的整数序列,编号0 - N - 1.进行Q次查询,查询编号i至j的所有 ...

  7. BZOJ4379 : [POI2015]Modernizacja autostrady

    两遍树形DP求出每个点开始往上往下走的前3长路以及每个点上下部分的直径. 枚举每条边断开,设两边直径分别为$A,B$,则: 对于第一问,连接两边直径的中点可得直径为$\max(A,B,\lfloor\ ...

  8. Storm命令详解

    在Linux终端直接输入storm,不带任何参数信息,或者输入storm help,可以查看storm命令行客户端(Command line client)提供的帮助信息.Storm 0.9.0.1版 ...

  9. 经验分享:多屏复杂动画CSS技巧三则

    当下CSS3应用已经相当广泛,其中重要成员之一就是CSS3动画.并且,随着CSS动画的逐渐深入与普及,更复杂与细腻的动画场景也如雨后春笋般破土而出.例如上个月做的「企业QQ-新年祝福」活动: 感谢sh ...

  10. float了的元素和内联元素不支持margin:auto

    float了的元素和内联元素不支持margin:auto