php bcdiv和bcmul 函数的怪异现象
一、简介
我要实现这样一个表达式
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.我代码
?1 2 3 4 5 6 7 8 9 10 | //根据时间计算排名奖励 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 函数内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/weixin_41156953/article/details/115675308
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。