我对php函数rand有一点问题。数组是一个数字介于0.1和1之间的数组。
$min = $this->array[0]*10;
$max = $this->array[1]*10;
array_push($this->motor, rand($min, $max), rand($min,$max));
偶尔rand在其余时间生成0,rand函数正常工作。有人知道我做错了吗?
答案 0 :(得分:2)
rand
仅适用于整数精度。所有浮点输入都转换为整数。根据定义浮点数并不完全精确,略低于1的值将被截断为0。
答案 1 :(得分:0)
试试这个:
$randomNumber = (float)rand($min, $max) / (float)$max;