php函数--BC

  • BC 数学 函数
    • 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个任意精度数字的减法

bcadd 

string bcadd ( string $left_operand , string $right_operand [, int $scale ] )

左操作数右操作数求和

<?php

$a = '1.234';
$b = '5';

echo bcadd($a, $b);     // 6
echo bcadd($a, $b, 4);  // 6.2340

?> 

bccomp

int bccomp ( string $left_operand , string $right_operand [, int $scale = int ] )

right_operandleft_operand作比较, 并且返回一个整数的结果.

返回值

如果两个数相等返回0, 左边的数left_operand比较右边的数right_operand大返回1, 否则返回-1.

<?php

echo bccomp('1', '2') . "\n";   // -1
echo bccomp('1.00001', '1', 3); // 0
echo bccomp('1.00001', '1', 5); // 1

?> 

bcdiv

string bcdiv ( string $left_operand , string $right_operand [, int $scale = int ] )

左操作数除以右操作数

返回值

返回结果为字符串类型的结果,如果右操作数是0结果为null

<?php

echo bcdiv('105', '6.55957', 3);  // 16.007

?> 

bcmod

string bcmod ( string $left_operand , string $modulus )

对左操作数使用系数取模

返回值

返回字符串类型取模后结果,如果系数为0则返回null

<?php
echo bcmod('4', '2'); // 0
echo bcmod('2', '4'); // 2
?> 

bcmul

string bcmul ( string $left_operand , string $right_operand [, int $scale = int ] )

左操作数乘以右操作数

返回值

返回结果为字符串类型.

<?php
echo bcmul('1.34747474747', '35', 3); // 47.161
echo bcmul('2', '4'); // 8
?> 

bcpow

string bcpow ( string $left_operand , string $right_operand [, int $scale ] )

左操作数右操作数次方运算.

返回值

返回结果为字符串类型.

<?php

echo bcpow('4.2', '3', 2); // 74.08

?> 

bcpowmod

将任意精度数提高到另一个精度,并减少指定的模数

string bcpowmod ( string $left_operand , string $right_operand , string $modulus [, int $scale = 0 ] )

使用快速求幂法将左_操作数相对于模,提升为右_幂操作数。

返回值

以字符串形式返回结果,如果模数为0,则返回空值。

<?php
$a = bcpowmod($x, $y, $mod);

$b = bcmod(bcpow($x, $y), $mod);

//$a和$b是相等的

?> 

bcscale

bool bcscale ( int $scale )

设置所有bc数学函数的未设定情况下得小数点保留位数.

返回值

成功时返回 TRUE, 或者在失败时返回 FALSE

<?php

// default scale : 3
bcscale(3);
echo bcdiv('105', '6.55957'); // 16.007

// this is the same without bcscale()
echo bcdiv('105', '6.55957', 3); // 16.007

?> 

bcsqrt

说明

string bcsqrt ( string $operand [, int $scale ] )

返回操作数的二次方根.

返回值

返回二次方根的结果为字符串类型,如果操作数是负数则返回null.

<?php

echo bcsqrt('2', 3); // 1.414

?> 

bcsub

string bcsub ( string $left_operand , string $right_operand [, int $scale = int ] )

左操作数减去右操作数.

返回值

返回减法之后结果为字符串类型.

<?php

$a = '1.234';
$b = '5';

echo bcsub($a, $b);     // -3
echo bcsub($a, $b, 4);  // -3.7660

?> 

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值