㈠ 在php中,如何获取小数点后面的数字
使用字符串截取函数explode,因为PHP是弱类型语言,所以可以直接使用
<?
$x=98.6;
$y=explode(".",$x);
echo$y[0]."------";//98
echo$y[1];//6
?>
㈡ 求一段PHP代码,关于随机数
下面的代码就是你需要的,代码测试没有问题,有必要的注释,希望对你有所帮助:
<?php
$last='';//上次结果
$last_max=0;//上次连续次数
$max=array('大'=>0,'小'=>0);//“大”、“小”最大连续出现的次数
$cnt=array('大'=>0,'小'=>0);//“大”、“小”总共出现的次数
for($i=0;$i<100000;$i++){
$x=rand(0,99)>50?'大':'小';
//更新出现次数
$cnt[$x]++;
//更新连续次数
if($i){
//非第一次,判断是否与上次相同
if($x==$last){
//与上次相同,增加上次数量
$last_max++;
}else{
//与上次不同,保存本次连续次数,初始化下次连续的统计
if($last_max>$max[$last])$max[$last]=$last_max;
$last=$x;
$last_max=1;
}
}else{
//第一次只记录上次结果
$last=$x;
$last_max=1;
}
}
echo"总次数: ";
foreach($cntas$k=>$v)echo" $k:$v ";
echo"最大连续次数: ";
foreach($maxas$k=>$v)echo" $k:$v ";
?>
㈢ php生成随机数
<?php
$number = '';//初始化一个幸运数数
$num = rand(1,100); //得到一个1-100的随机数
if($num >=1 and $num<=20){
$number = 1; //如果随机数在1-20 那么这个幸运数就为1 ,也就是说幸运数1的概率为20%
}else if($num >=21 and $num <=41 ){
$number = 2; //如果随机数在21-41 那么这个幸运数就为2 ,也就是说幸运数2的概率为21%
}else if..... //依次类推
我这里的1-20 21-41 这个区间是乱写的 你可以打乱 意思就是说从1-100中间得到一个随机数
再给这个随机数添加一个概率 如果说这个随机数是在1-20直接的任意一个那么幸运数就为1,也就是说出现1的概率为20%
㈣ 求教PHP二进制产生随机数过程中出现的问题
具体步骤如下:
1、随机生成0-65535范围内十进制整数,并转换为二进制字符串;
2、用str_shuffle()函数将二进制字符串变成新的二进制字符串;
3、将新的二进制字符串转换为十进制的整数,然后将两个十进制数进行异或运算,得到新的十进制整数;
4,除以65535,转换成0-1之间的小数;
经过for循环统计,随机效果很不理想,表现为0-0.1区间比较密集,柱状图显示成递减分布。
㈤ php怎么生成随机数
//随机数函数,$length为随机的数字长度
function randomkeys($length)
{
$key = "";
$pattern='';
for($i=0;$i<$length;$i++)
{
$key .= $pattern{mt_rand(0,35)}; //生成php随机数
}
return $key;
}
$a = randomkeys(1);
$b = randomkeys(1);
$c = randomkeys(1);
//如果要随机生成N个字符,则只需要
echo randomkeys(5);
㈥ php 生成一个随机数(0.11~999.99),判断是否是所有数字相同 , 例如出现1.11 或者11.1,111.1,111.11 这种
思路:用rand函数取11到99999的随机数,然后除以100四舍五入保留2为小数,最终结果在0.11~999.99区间
取到的值除以0.11判断结果是不是为整数,如果是整数,说明值是1.1、2.22这种类型的,符合
㈦ php取随机数概率算法
问题有点模糊,我先暂时把“保留两位小数”理解成“[输出的随机数]保留两位小数”,而非其他因素保留多少小数。
又把“1-10”,理解成包括1和10在内其两数之间的小数,
把10-50,理解成10.01到50.00之间的数,不包括10.00。以此类推。
<?php
functiongenRandom(){
$p=rand(1,100);
if($p<=60)$r=rand(100,1000);
elseif($p>60and$p<=85)$r=rand(1001,5000);
elseif($p>85and$p<=95)$r=rand(5001,10000);
else$r=rand(10001,20000);
return$r/100;
}
$a=array();
$total=50000;
for($i=0;$i<$total;$i++){
$c=genRandom();
if($c>=1and$c<=10)$p=0;
elseif($c>10and$c<=50)$p=1;
elseif($c>50and$c<=100)$p=2;
elseif($c>100and$c<=200)$p=3;
else$p=4;
if(!array_key_exists($p,$a))$a[$p]=1;
else$a[$p]++;
}
if(!array_key_exists(4,$a))$a[4]=0;
echo"总样本数".$total.'<br/>';
echo"1-10样本数".$a[0].',占'.($a[0]/$total*100).'%<br/>';
echo">10-50样本数".$a[1].',占'.($a[1]/$total*100).'%<br/>';
echo">50-100样本数".$a[2].',占'.($a[2]/$total*100).'%<br/>';
echo">100-200样本数".$a[3].',占'.($a[3]/$total*100).'%<br/>';
echo"其他样本数".$a[4].',占'.($a[4]/$total*100).'%<br/>';
总样本数50000
1-10样本数30052,占60.104%
>10-50样本数12404,占24.808%
>50-100样本数4993,占9.986%
>100-200样本数2551,占5.102%
其他样本数0,占0%
㈧ php生成随机数字,范围1-100,每次生成一个数字,可以重复
echomt_rand(1,100);
请使用rand函数
intrand(int$min,int$max)
使用循环生成,假如想生成512个数字,就可以像这样:
$num = 1;//初始化一个变量为1
for($i = 1; $i <= 512; $i++)//这个是看你要生成多少个数字,然后循环生成
{
if($num >= 100)
$num = 1;//若变量的数字大于一百,则返回变成1
echo $num."</br>";//输出变量数字,即生成的数字,后面的</br>是换行
$num++;//然后将变量加1,即在前面生成的数字基础上加一
}
(8)php随机数小数点扩展阅读:
密码学安全伪随机性。其定义为,给定随机样本的一部分和随机算法,不能有效的演算出随机样本的剩余部分。
真随机性。其定义为随机样本不可重现。实际上只要给定边界条件,真随机数并不存在,可是如果产生一个真随机数样本的边界条件十分复杂且难以捕捉(比如计算机当地的本底辐射波动值),可以认为用这个方法演算出来了真随机数。
㈨ PHP生成随机数的几种方法
php生成随机数的几种方法,总结如下:
第一种方法,非常简单,直接使用系统自带的函数:
查看代码1
srand((double)microtime()*1000000);
2
//随机产生0-99之间的整数
3
$randval=rand(0,99999999);
4
echo
$randval,'
';
5
6
第二种方法,稍微复杂一点,不只是生成只有数字的随机字符串,更包括了各种特殊字符:
查看代码
function
randomkeys($length){
$output='';
for($a=0;$a<$length;
$a++){
$output.=chr(mt_rand(33,
126));
}
return
$output;
}
echo
randomkeys(20);
㈩ 求js和php怎样生成随机数,0到1之间的,保留两位小数点。
js 随机数
<script language="javascript">
var num=Math.random();
var newNum =num.toFixed(2);
alert(newNum);
</script>
php随机数
<?php
$num= rand(0,100)/100;
$newNum = sprintf("%.2f",$num);
echo $newNum;
?>