承接上一篇博客,发放的红包金额不一定是整数,所以需要随机在红包金额区间内取一个带小数的金额,例如 4.16元,1.23元
直接上代码:
// /**
// *产生随机小数的函数
// */
function randomFloat($min, $max) {
return $min + mt_rand() / mt_getrandmax() * ($max - $min);
}
// /**
// *获取指定位数的小数
// */
$num=randomFloat(1,8);
// echo $num;
$newNum = sprintf("%.2f",$num);
echo $newNum;
如上,用sprintf函数取得的并不是浮点数类型,而是字符型 string 。
改进:将sprintf()函数改为 round($num,2); 就可以取得浮点型的结果啦!