php 生成一个随机数(0.11~999.99),判断是否是所有数字相同 , 例如出现1.11 或者11.1,111.1,111.11 这种

php 生成一个随机数(0.11~999.99),判断是否是所有数字相同 , 例如出现1.11 或者11.1,111.1,111.11 这种情况

第1个回答  2016-12-20

    思路:用rand函数取11到99999的随机数,然后除以100四舍五入保留2为小数,最终结果在0.11~999.99区间

    取到的值除以0.11判断结果是不是为整数,如果是整数,说明值是1.1、2.22这种类型的,符合

追问

999.99 除以0.11 除不尽吧?

追答

我去,好像是,那就换另一种处理

    去除小数点,当成一个新数,获取长度:如99.9变成999,长度 3

    然后截取第一位,如9;然后对应乘以长度对应的1,如长度3,则乘以111(3个1)

    乘后的值和新值比较,如9*111=新值999,则这个值符合,记得是原值

第2个回答  2016-12-20
$rnd_num = rand_num();
var_dump(chk_num($rnd_num));

//生成一个小数点后2位的浮点随机数
function rand_num(){

return mt_rand(11,99999)/100;

}

//判断是否连号
function chk_num($num){
$str_num = str_replace(".","",$num); //去小数点
for($i=1,$max=strlen($str_num);$i<$max;$i++){
if(substr($str_num,$i-1,1)<>substr($str_num,$i,1)){
return false;
}
}
return true;
}本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网