我是靠谱客的博主 活泼老鼠,最近开发中收集的这篇文章主要介绍1分钟轻松解决php处理浮点型运算精度问题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

问题描述:

$res = (116/ 100) * 100;
echo $res ;//结果:116
echo floor($res );//结果:115

解决办法:请将上面的$a的公式换成如下写法(采用php自带的高精度运算函数):

$res = bcmul(bcdiv(116, 100, 2),100);
var_dump($res );die;//结果:string(3) "116"
分两步算即为:
$b = bcdiv(116, 100, 2); //含义为:116除以100保留2位小数
$res = bcmul($b,100);//含义为:$b*100,第三个参数不传默认为保留整数
var_dump($res);die;

函数使用说明

           bcdiv — 2个任意精度的数字除法计算(用法如下)

//$number1:数字2,$number2:数字2,$numbber3:保留几位小数点(不设置,默认正整数)
bcdiv($number1,$number2,$numbber3) ; 

           bcmul — 2个任意精度数字乘法计算(用法同上)

最后

以上就是活泼老鼠为你收集整理的1分钟轻松解决php处理浮点型运算精度问题的全部内容,希望文章能够帮你解决1分钟轻松解决php处理浮点型运算精度问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部