解决php使用intval将浮点数转换为整数时精度失真的问题1.14;echo$test*100;//打印浮点数echo'
';echointval($test*100);//将浮点数转换成整数,打印出信息:114113如上出现精度失真的问题已经结束,那么如何解决上面的问题呢?1:将浮点数转化为字符型再转化为整数型如:$test=1.14;echo$test*100;//打印浮点数echo'
';echointval(strval($test*100));//将浮点数转为字符串类型再转为整数类型,打印信息为:1141142:使用高精度函数实现如:$test=1.14;echo$test*100;//打印浮点数echo'
';echobcmul($test,100);//使用高精度函数bcmul实现乘法bcadd——两个高精度数相加bcsub——两个高精度数相减bcmul——两个高精度数相乘bcdiv——二相除高精度数bccomp—比较两个高精度数,返回-1、0、1bcmod—求高精度数的余数bcpow—求高精度数的幂bcpowmod—求高精度数的幂求模数的精度数,在数论中非常常用bcscale—配置默认numb小数点的er,相当于Linux中的“scale=”bcbcsqrt—求一个高精度数的平方根
