18
A
回答
34
分裂所產生的隨機數,你可以使用:
rand ($min*10, $max*10)/10
甚至更好:
mt_rand ($min*10, $max*10)/10
4
你可以這樣做:
rand(12, 57)/10
PHP的隨機函數允許你只使用整數的限制,但你可以通過10
5
一個更普遍的解決辦法是:
function count_decimals($x){
return strlen(substr(strrchr($x+"", "."), 1));
}
public function random($min, $max){
$decimals = max(count_decimals($min), count_decimals($max));
$factor = pow(10, $decimals);
return rand($min*$factor, $max*$factor)/$factor;
}
$answer = random(1.2, 5.7);
+0
對於那些追求這種解決方案的人來說,現在稍微好一點的方法是將'count_decimals()'函數嵌入'random()'中作爲閉包,所以它對全局作用域是隱藏的。 – igorsantos07
相關問題
- 1. 在兩個浮點數之間產生隨機浮點數
- 2. 之間的C#生成隨機小數兩位小數
- 3. 產生兩個不同的隨機數
- 4. 隨機種子來產生隨機數
- 5. 使用php生成1到10之間的30個隨機數
- 6. 在兩個限制之間生成隨機數字
- 7. Java隨機生成兩位十進制格式的價格
- 8. 生成隨機的兩位十六進制值
- 9. 如何使用php在兩個日期之間生成隨機數據?
- 10. 隨機數生成兩個區間之間的雙打[a,b]
- 11. 設置定時器在兩個間隔之間交替以產生隨機數
- 12. 在C中生成一個隨機十進制數
- 13. 兩個十六進制數字之間的數字 - Java
- 14. 兩個數字之間的隨機數字生成器 - MatLab
- 15. 生成Java Card中兩個數字之間的隨機數字
- 16. 如何用PHP生成一個隨機的DARK十六進制顏色代碼?
- 17. 在兩個值之間生成一個隨機數
- 18. 使用數組產生兩個隨機值
- 19. 我想用一個隨機數生成兩個cout的隨機數之一
- 20. 在兩個數字之間生成隨機數
- 21. 在兩個整數值之間生成Swift中的隨機值
- 22. 生成兩個範圍之間的隨機整數
- 23. 我需要隨機化兩個十六進制數字之間的數字,表示爲字符串
- 24. Excel隨機化十進制數
- 25. 安全隨機十六進制數字
- 26. 紅寶石,生成一個隨機的十六進制顏色
- 27. 隨機數產生
- 28. 隨機數產生
- 29. 隨機數的產生和使用random.seed()
- 30. MySQL&PHP:時間()到十進制小時
這是愚蠢的,但我需要的功能。如下: function drand($ low,$ high){ \t \t return mt_rand($ low * 100,$ high * 100)/ 100; \t} –