美文网首页
php bc match 精确计算

php bc match 精确计算

作者: AGEGG | 来源:发表于2019-10-28 09:38 被阅读0次

文档地址:https://www.php.net/manual/zh/book.bc.php

bcadd — 2个任意精度数字的加法计算
bccomp — 比较两个任意精度的数字
bcdiv — 2个任意精度的数字除法计算
bcmod — 对一个任意精度数字取模
bcmul — 2个任意精度数字乘法计算
bcpow — 任意精度数字的乘方
bcpowmod — Raise an arbitrary precision number to another, reduced by a specified modulus
bcscale — 设置所有bc数学函数的默认小数点保留位数
bcsqrt — 任意精度数字的二次方根
bcsub — 2个任意精度数字的减法

demo:

<?php
//加
echo bcadd('1.234', 5, 2).'<hr/>'; //6.23
//减
echo bcsub('1.234', 5, 4).'<hr/>'; //-3.7660
//乘
echo bcmul('1.34747474747', '35', 3).'<hr/>'; //47.161
//除
echo bcdiv('105', '6.55957', 3).'<hr/>'; //16.007
//乘方

echo bcpow('4.2', '3', 2).'<hr/>'; //74.08
//比较 
//$left = $right, 0
//$left > $right, 1
//$left < $right, -1
echo bccomp('1', '2').'<hr/>';   // -1
echo bccomp('1.00001', '1', 3).'<hr/>'; // 0
echo bccomp('1.00001', '1', 5).'<hr/>'; // 1
//取模
echo bcmod('7', '5').'<hr/>'; //2
//设置所有bc数学函数的默认小数点保留位数
//成功 return true
//失败 return false
bcscale(3);
echo bcadd('1.234567', 5).'<hr/>'; //6.234
//操作数的二次方跟
echo bcsqrt('2', 3).'<hr/>'; //1.414

以下5个函数都为3个入参($left, $right,$scale
左操作数 对右操作数【加减乘除乘方】, $scale为精确度

//加
bcadd ( string $left_operand , string $right_operand [, int $scale ] ) : string
//减
bcsub ( string $left_operand , string $right_operand [, int $scale = int ] ) : string
//乘
bcmul ( string $left_operand , string $right_operand [, int $scale = int ] ) : string
//除
bcdiv ( string $left_operand , string $right_operand [, int $scale = int ] ) : string
//乘方
bcpow ( string $left_operand , string $right_operand [, int $scale ] ) : string

以下函数可参照demo单独记忆

//把right_operand和left_operand作比较, 并且返回一个整数的结果
bccomp ( string $left_operand , string $right_operand [, int $scale = int ] ) : int
//设置所有bc数学函数的默认小数点保留位数
bcscale ( int $scale ) : bool
//对左操作数使用系数取模
bcmod ( string $left_operand , string $modulus ) : string
//返回操作数的二次方根.
bcsqrt ( string $operand [, int $scale ] ) : string

相关文章

  • php bc match 精确计算

    文档地址:https://www.php.net/manual/zh/book.bc.php demo: 以下5个...

  • BC Math 扩展精度

    PHP有一个BC Math高精确度的数学扩展,它可以为任意精度数学计算提供了二进制计算器(Binary Calcu...

  • 无聊的一天这里开始

    https://qq.q.qq8.co/super-search/match.php?msg=%E5%B9%BC%...

  • 兔兔助手

    https://qq.q.qq8.co/super-search/match.php?msg=%E5%B9%BC%...

  • PHP BC Math 函数详解

    导语 用 PHP 计算的时候,会遇到高精度数带来的问题。好在 PHP 提供了 BC 系统函数。下面把常用的 BC ...

  • DNA sequence Algorithm

    Exact match Naive exact match Introduction:精确匹配,耗时长Input:...

  • 【ES从入门到实战】十一、全文检索-ElasticSearch-

    接第10节 3)、match【匹配查询】 基本类型(非字符串),精确匹配 match 返回 account_num...

  • 大数字精确计算

    数字太大普通运算法则计算结果会有偏差,可以用到BC 高精确度函数库相乘bcmul(string left oper...

  • Excel day7学习小结

    【学习内容】 如何运用函数index和match进行逆向查询和交叉查询。 精确定位函数——Match (确定谁的位...

  • php公式计算

    1 通过evel计算公式 注意浮点数运算 eval — 把字符串作为PHP代码执行 2 通过bc函数实现 任意精度...

网友评论

      本文标题:php bc match 精确计算

      本文链接:https://www.haomeiwen.com/subject/opsvvctx.html