我們如何在浮點數(在delphi xe3)範圍內生成隨機數?在浮點範圍內生成隨機數
例如,隨機數在[0.10 to 0.90]
之間。 我需要給類似的結果:
[ 0.20 , 0.32 , 0.10 , 0.50 ]
感謝解決方案....
我們如何在浮點數(在delphi xe3)範圍內生成隨機數?在浮點範圍內生成隨機數
例如,隨機數在[0.10 to 0.90]
之間。 我需要給類似的結果:
[ 0.20 , 0.32 , 0.10 , 0.50 ]
感謝解決方案....
var
float : Double;
float := Random; // Random float in range: 0 <= float < 1
float := 0.1 + float*0.8 // 0.1 <= float < 0.9
初始化隨機數生成器,做出Randomize
單個呼叫或調用之前設置的參數RandSeed
第一次使用Random
功能。
不這樣做,每次運行程序時都會生成相同的序列。但請注意,重新編譯其他編譯器版本時,不保證此順序。
另一種選擇是使用RandomRange
(返回:AFrom <= r < ATo
)如下:
RandomRange(10, 90 + 1)/100
或
RandomRange(10, 90 + 1) * 0.01
將在0.10的範圍內返回編號,0.90(包括0.90)
function RandomRangeF(min,max:single):single;
var
float : single;
begin
float := Random;
result := min + float* (max-min);
end;
0.05不在範圍內[0.10..0.90]爲什麼你期望它的結果; o) –
這只是一個印刷錯誤。 ;) – User
接受的答案中的代碼不會達到範圍上限(0.9),這是好的嗎? – mjn