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


PHP语言的解决方法
PHP里边编译有叫bcmath的模块,这个是专门用来解决这个问题的。
首先,需要确定自己的PHP有编译bcmath,如果没有的话,需要自行编译安装啦。

其次,我要要将之前的纯粹的数学加减乘除换成bcmath的模块。
加法:
bcaddstring bcadd ( string $left_operand , string $right_operand [, int $scale ] )减法:
bcsubstring bcsub ( string $left_operand , string $right_operand [, int $scale = int ] )乘法:
bcmulstring bcmul ( string $left_operand , string $right_operand [, int $scale = int ] )除法:
bcdivstring bcdiv ( string $left_operand , string $right_operand [, int $scale = int ] )
就先列出常见的加减乘除方法吧其它运算法则看这里吧,其中上面的第一个参数是第一个操作数,第二个参数是第二个操作数,第三个参数就是保留小数点后几位的意思。
其它语言的解决方法
比如JAVA、JavaScript、C#、Perl、Python、Ruby、SQL这些语言呀,我推荐看这一篇文章啦What Every Programmer Should Know About Floating-Point Arithmetic or Why don’t my numbers add up?,这里有很好的解决方案。