php bcdiv和bcmul 函数的怪异现象

开发测试 / 压力测试 / 2022-04-03 22:14
访问量 访问量 528 我的收藏 - 反馈 - 海报

基本信息

内容

一、简介

我要实现这样一个表达式
z=总奖金
n=总名数
i=自己的排民
((n-i+1)/(1+2+3+…n))*z
这是一个分配奖金的式子。我试着用php的bc函数进行操作发现以下两种写法得出不一样的结果
表达式1: a r r [ arr[ arr[i]=bcmul(bcdiv((51- i ) , i), i),num,2), r e w a r d [ ′ L e a d e r b o a r d ′ ] , 0 ) ; 表 达 式 2 : reward["Leaderboard"],0); 表达式2: reward[′Leaderboard′],0);表达式2:arr[ i ] = b c m u l ( b c d i v ( i]=bcmul(bcdiv( i]=bcmul(bcdiv(reward[‘Leaderboard"], n u m , 2 ) , ( 51 − num,2),(51- num,2),(51−i),0);

二、现象

1.我代码

//根据时间计算排名奖励
    public function calculateTheReward($dateStr="2021-04-12 00:00:00"){
        $reward=Login::table("dailyReward")->where(["dateStr"=>$dateStr])->find()->toArray();
        $arr=[];
        $num=1275;
        for ($i=1;$i<=50;$i++){
            $arr[$i]=bcmul(bcdiv($reward["Leaderboard"],$num,2),(51-$i),0);//bcmul(bcdiv((51-$i),$num,2),$reward["Leaderboard"],0);
        }
        print_r($arr);die;
    }

用表达式1得出结果:

用表达式2得出以下结果:

到此这篇关于php bcdiv和bcmul 函数的怪异现象的文章就介绍到这了,更多相关php bcdiv和bcmul 函数内容请搜索IT博客社区以前的文章或继续浏览下面的相关文章希望大家以后多多支持IT博客社区!

没有更多了

用户评价(0)

好评率100%
  • 没有更多了
+ 更多
  • 联系人:
  • 地区:
  • 联系电话: (2007)条 地区:未知

CitClub博客社区 京ICP备XXXXXXXX号