Rumah  >  Artikel  >  php教程  >  php关于精准计算的模块BCMath

php关于精准计算的模块BCMath

WBOY
WBOYasal
2016-06-06 19:55:531135semak imbas

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 bc是Binary Calculator的缩写。bc*函数的参数都是操作数加上一个可选的 [int scale],比如string bcadd(string $left_operand, string $right_operand[, int $scale]),如果scale没有提供,就用bcsc

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入

  bc是Binary Calculator的缩写。bc*函数的参数都是操作数加上一个可选的 [int scale],比如string bcadd(string $left_operand, string $right_operand[, int $scale]),如果scale没有提供,就用bcscale的缺省值。这里大数直接用一个由0-9组成的string表示,计算结果返回的也是一个 string.

  bcadd - 将两个高精度数字相加

  bccomp - 比较两个高精度数字,返回-1, 0, 1

  bcdiv - 将两个高精度数字相除

  bcmod - 求高精度数字余数

  bcmul - 将两个高精度数字相乘

  bcpow - 求高精度数字乘方

  bcpowmod - 求高精度数字乘方求模,数论里非常常用

  bcscale - 配置默认小数点位数,相当于就是Linux bc中的"scale="

  bcsqrt - 求高精度数字平方根

  bcsub - 将两个高精度数字相减

  可以参考手册去查这些函数的应用。

  bcmath的安装

  bcmath这个扩展在php的压缩包中都是有的,需要重新编译一下才能够支持;

  cd   php-5.2.7/ext/bcmath

  /usr/local/php/bin/phpize

  ./configure --with-php-config=/usr/local/php/bin/php-config

  make && make install (make 可以得到so路径)

  so路径拷贝到  extension路径

  vim php.ini

  extension=bcmath.so

  重启apach

  PHP code?

  /*bcsub 函数说明

  此函数将二个高精确度的数字相减,传入二个字符串,以左边的 (left operand) 减去右边的 (right operand) 值。scale 是一个可有可无的选项,表示返回值的?小数点后所需的位数。*/

  //下面的代码我是保证了小数点一位数字

  $aa=bcsub(134.7,52.5,1);

  echo $aa;//exit;

  $bb=bcsub($aa,82.2,1);

  echo $bb;//exit;

  //

php关于精准计算的模块BCMath

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:有关于PHP正则表达式汇总Artikel seterusnya:PHP中echo(),print(),print