计算随机小数长度范围之间的值

      发布在:前端技术      评论:0 条评论

计算随机小数长度范围之间的值,支持小数点后多位计算


function getRandFloat($start,$end){

$FloatLength = max(getFloatLength($start),getFloatLength($end));
$jishu_rand = pow(10,$FloatLength);

$start = bcmul($start ,$jishu_rand, $FloatLength);
$end =  bcmul($end ,$jishu_rand, $FloatLength);
$rand = bcdiv(rand($start,$end),$jishu_rand,$FloatLength);
return $rand;
}
//计算小数点后位数
function getFloatLength($num) {
$count = 0;
$temp = explode ( '.', strval($num) );
if (count( $temp ) > 1) {
$decimal = end ( $temp );
$count = strlen ( $decimal );
}
return $count;
}

var_dump(getFloatLength('0.00001'));
var_dump(getFloatLength(0.00001));
//注意必须传字符串,否则没办法计算小数点后位数
echo getRandFloat('0.00001','0.0000589');


相关文章
热门推荐