标签:
前几天 ,遇到一个很郁闷的事情。
一个很简单的算术逻辑,就是用php做了一个两个数比较大小的条件。
但是结果总是出错,我表示很郁闷,因为两个值是传进来的,然后做比较,由于涉及到小数位的精度问题,判断的结果总是达不到预期,也就是出错,我很无奈,因为我把两个值都打印到页面,没有什么差,但就是错。
为此我觉得PHP在浮点型的变量设置上,的确有很大的欠缺,我没法设定,然后再去比较,最后没办法,请叫了一个老司机,他说应该是精度问题,php在处理浮点型的数值时,经常会出现精度问题,如果做比较显然很容易出现错误。
后来甩给我一个函数,顺利解决。 bccomp(f1,f2,x); f1、f2 是两个做比较的参数,x是比较的精度,结果返回的是-1,0,1.三种情况。我觉得是 f1-f2 在精度为x的范围内做差啦,结果可想而知,学习就是不断的积累。
标签:
原文地址:http://www.cnblogs.com/huaTsing/p/bccomp.html