MENU

PHP加减乘除出现错误

前言

今天在PHP计算带小数点运算,比如就是1.3*3.0=3.90000000004,原本是等于3.9才对呀,但是为什么?说实话,我也不太懂,这是讲问题解决了。

19-2
19-3

PHP语言的解决方法

PHP里边编译有叫bcmath的模块,这个是专门用来解决这个问题的。
首先,需要确定自己的PHP有编译bcmath,如果没有的话,需要自行编译安装啦。
19-1
其次,我要要将之前的纯粹的数学加减乘除换成bcmath的模块。

  • 加法:bcadd

    string bcadd ( string $left_operand , string $right_operand [, int $scale ] )
    
  • 减法:bcsub

    string bcsub ( string $left_operand , string $right_operand [, int $scale = int ] )
    
  • 乘法:bcmul

    string bcmul ( string $left_operand , string $right_operand [, int $scale = int ] )
    
  • 除法:bcdiv

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

就先列出常见的加减乘除方法吧其它运算法则看这里吧,其中上面的第一个参数是第一个操作数,第二个参数是第二个操作数,第三个参数就是保留小数点后几位的意思。

其它语言的解决方法

比如JAVAJavaScriptC#PerlPythonRubySQL这些语言呀,我推荐看这一篇文章啦What Every Programmer Should Know About Floating-Point Arithmetic or Why don’t my numbers add up?,这里有很好的解决方案。

标签: php, 技巧
返回文章列表 文章二维码 打赏
本页链接的二维码
打赏二维码