PHP中的精确计算bcadd,bcsub,bcmul,bcdiv 及 扩展安装
<?php
/**
* 精确加法
* @param [type] $a [description]
* @param [type] $b [description]
*/
function math_add($a,$b,$scale = '2') {
return bcadd($a,$b,$scale);
}
/**
* 精确减法
* @param [type] $a [description]
* @param [type] $b [description]
*/
function math_sub($a,$b,$scale = '2') {
return bcsub($a,$b,$scale);
}
/**
* 精确乘法
* @param [type] $a [description]
* @param [type] $b [description]
*/
function math_mul($a,$b,$scale = '2') {
return bcmul($a,$b,$scale);
}
/**
* 精确除法
* @param [type] $a [description]
* @param [type] $b [description]
*/
function math_div($a,$b,$scale = '2') {
return bcdiv($a,$b,$scale);
}
/**
* 精确求余/取模
* @param [type] $a [description]
* @param [type] $b [description]
*/
function math_mod($a,$b) {
return bcmod($a,$b);
}
/**
* 比较大小
* @param [type] $a [description]
* @param [type] $b [description]
* 大于 返回 1 等于返回 0 小于返回 -1
*/
function math_comp($a,$b,$scale = '5') {
return bccomp($a,$b,$scale); // 比较到小数点位数
}
echo math_add('3.445','3.444')."\n"; // 加 6.88
echo math_sub('3.445','3.444')."\n"; // 减 0.00
echo math_mul('3.445','3.444')."\n"; // 乘 11.86
echo math_div('3.445','3.444')."\n"; // 除 1.00
echo math_mod('3.445','3.444')."\n"; // 取模 0
echo math_comp('3.445','3.444')."\n";// 比较 1
echo math_add('3.445','3.444','3')."\n"; // 加 6.889
echo math_sub('3.445','3.444','3')."\n"; // 减 0.001
echo math_mul('3.445','3.444','3')."\n"; // 乘 11.864
echo math_div('3.445','3.444','3')."\n"; // 除 1.000
echo math_mod('3.445','3.444')."\n"; // 取模 0
echo math_comp('3.445','3.444')."\n";// 比较 1
?>
复制代码
复制代码
今天正好要用到bcadd()函数,结果报错,百度下原因是没有安装bcmath扩展。
那就安装呗,搜了一下,我是yum安装的php7.2,扩展也可以yum来安装
复制代码
复制代码
1.键入命令 (72W就是php版本,不加有一定的几率报错)
yum install php72w-bcmath
回车;
2.ok,安装完毕,重启服务器 Nginx 或者 Apache
转置 https://www.cnblogs.com/ivy-zheng/p/11236342.html
PHP中的精确计算bcadd,bcsub,bcmul,bcdiv 及 扩展安装的更多相关文章
- PHP中的精确计算bcadd,bcsub,bcmul,bcdiv
引言:一定要确保数据的准确性.这是一个好的程序员的基本素养. <?php /** * 精确加法 * @param [type] $a [description] * @param [type] ...
- JAVA中精确计算金额BigDecimal
package com.chauvet.utils; import java.math.BigDecimal; import java.text.DecimalFormat; import java. ...
- 不要在精确计算中使用float和double类型
http://blog.csdn.net/androiddevelop/article/details/8478879 一 问题描述 float和double类型不能用于精确计算,其主要目的是为了科 ...
- Excel中最精确的计算年龄的公式
身份证算年龄 假设A1是身份证号所在单元格 =IF(MONTH(NOW())<INT(MID(A1,11,2)),INT(YEAR(NOW())-INT(MID(A1,7,4)))-1,IF(M ...
- jQuery中height()不能精确计算的问题
jQuery中关于高度的计算有三个方法:outerHeight().innerHeight().height() outerHeight():获取元素集合中第一个元素的当前计算高度值,包括paddin ...
- Java中浮点型数据Float和Double进行精确计算的问题
Java中浮点型数据Float和Double进行精确计算的问题 来源 https://www.cnblogs.com/banxian/p/3781130.html 一.浮点计算中发生精度丢失 ...
- 电商网站中价格的精确计算(使用BigDecimal进行精确运算(实现加减乘除运算))
使用BigDecimal的String的构造器.商业计算中,使用bigdecimal的String构造器,一定要用. 重要的事情说三遍: 商业计算中,使用bigdecimal的String构造器! 商 ...
- [转] 商业应用中Java浮点数的精确计算及表示
[From] https://blog.csdn.net/stevene/article/details/586089 问题提出 (1).浮点数精确计算 胜利油田三流合一项目中一直存在一个问题,就是每 ...
- Java浮点数float,bigdecimal和double精确计算的精度误差问题总结
(转)Java浮点数float,bigdecimal和double精确计算的精度误差问题总结 1.float整数计算误差 案例:会员积分字段采用float类型,导致计算会员积分时,7位整数的数据计算结 ...
- Java精确计算
Java精确计算 如果我们编译运行下面这个程序会看到什么? public class Test{ public static void main(String args[]){ System.out. ...
随机推荐
- oracle11gRAC升级到19C
升级oracle11g集群到19.3 前述环境检查: [root@qhdb1 ~]# crsctl status res -t ------------------------------------ ...
- 玩转云端 | 网络也i人?咋变显眼包?天翼云AccessOne边缘接入来了!
你是具有"社牛"属性的"e人" 还是"社恐"属性的"i人"? 在年轻群体中火起来的 "MBTI人格测试&quo ...
- jar脚本练习
javaServer.sh #!/bin/bash export JAVA_HOME=/u01/java_home/jdk1.8.0_131 export APP_HOME=/u01/app expo ...
- JAVA运算符及实例
JAVA语言支持以下运算符 优先级() 算数运算符:+,-,*,/,%,++,-- 实例1: package operator; public class Demo01 { public ...
- C# Winform 当音频播放完成后,播放下一个音频,怎么知道音频有没有播放完成
程序在预警时,会发出报警音,当报警音频播放时间,超过预警频率时,就会像我们打印文档一样,像打印机发送10次打印任务.当打出第1张纸的时候,这时候想取消打印.就不能在电脑端通过软件操作了.因此为了避免这 ...
- Vue3 基础概念与环境搭建
前言 首先需要提醒大家的是,Vue2 已经在2023年停止维护,为了能更好地适应前端开发的发展趋势以及获得更好的性能和功能,我们将从这篇文章开始进入Vue3的阶段.如果对Vue2有想了解的小伙伴可以自 ...
- 牛客题解 | 单组_A+B
题目 题目链接 解题思路 输入两个数字,输出它们的和. 代码 #include <iostream> using namespace std; int main(void) { ios:: ...
- tomcat启动时启动窗口出现乱码的解决方案
工具/原料 一台安装了tomcat的电脑 方法/步骤 先来看看问题(图示),在tomcat的启动窗口打印的启动信息中包含了大量的中文乱码,虽然这些对tomcat本身的使用没有任何影响,但却 ...
- Typecho获取当前页面加载完成速度时间
判断当前页面加载是否快速,通常是直接在浏览器中访问网站,看自己的直观感受是否快速.而客观的方法则是计算具体的页面加载时间并显示出来给看. 1.在当前主题的functions.php文件添加下面的代码: ...
- Vulnhub-Troll-1靶机-ftp匿名登录+流量包分析+hydra爆破+ssh登录脚本提权
一.靶机搭建 选择扫描虚拟机 选择路径即可 二.信息收集 扫ip 靶机ip:192.168.108.144 扫开放端口 开放了ftp服务 扫版本服务信息 信息如下 21/tcp open ftp vs ...