$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. wpf,CollectionViewSource,使用数据过滤 筛选 功能。

    class TextListBoxVMpublic : ViewModelBase { public TextListBoxVMpublic() { var list = this.GetEmploy ...

  2. oracle过程中动态语句实现

    oracle过程中动态语句实现 一般的PL/SQL程序设计中,在DML和事务控制的语句中可以直接使用SQL,但是DDL语句及系统控制语句却不能在PL/SQL中直接使用,要想实现在PL/SQL中使用DD ...

  3. POJ3084 Panic Room(最小割)

    把某点与某几点分开的最小花费,当然想到最小割.具体怎么建图,可以画个简单的情况,然后就清楚了: 0到1不受控制,建立0->1容量为INF的边: 1到0受在0一边的一个控制面板的控制,建立1-&g ...

  4. Windows和Linux(Ubuntu)下安装Scala及ScalaIDE

    1.下载 1.1Scala下载 Windows版:http://www.scala-lang.org/download/ Linux版:http://www.scala-lang.org/downlo ...

  5. putty ssh连接老断

    有两种方法来解决:一. 配置客户端 1 在 linux下的ssh命令:vim /etc/ssh/ssh_config 然后找到里面的ServerAliveInterval 参数,如果没有你同样自己加一 ...

  6. 盐水的故事[HDU1408]

    盐水的故事Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submissio ...

  7. 20145308刘昊阳 《Java程序设计》第4周学习总结

    20145308刘昊阳 <Java程序设计>第4周学习总结 教材学习内容总结 第六章 继承与多态 6.1 何谓继承 继承:面向对象中,为避免多个类间重复定义共同行为使用 把相同代码提升为父 ...

  8. 7zip ubuntu使用

    http://www.cnblogs.com/yiwd/p/3649094.html 安装: sudo apt-get install p7zip 解压: 7zr x file -r -o./path ...

  9. Linux多线程实例练习 - pthread_create()

    Linux多线程实例练习 pthread_create():创建一个线程 int pthread_create(pthread_t *tidp, const pthread_attr_t *attr, ...

  10. winform学习之-----小知识(20160624)

    一.//判断是否按下回车键if(e.KeyCode == Keys.Enter){   pictureBoxKeyDownLogin_Click(sender,e);}或是e.KeyCode == K ...