2015-01-13 10 views
5

Ich möchte Zufallszahl zwischen zwei Dezimalzahlen mit Schritt 0.5 erstellen.PHP zufällige Dezimalstelle zwischen zwei Dezimalstellen mit Schritt 0.5

Beispiele: 0, 0,5, 1, 1,5, 2, 2,5, 3, 3,5, 4, 4,5, 5, ...

Verwenden Sie PHP Zufall Dezimal beteween Zwei Dezimalzahlen

So generieren weit Ich kann Zahlen zwischen 0 und 5 mit einem Komma erzeugen.

Wie Schritt 0,5 integrieren?

$min = 0; 
$max = 5; 
$number = mt_rand ($min * 10, $max * 10)/10; 
+0

warum nicht nur 'mt_rand (min $ + $ Schritt, $ Max- $ Schritt) + $ Schritt '? –

+1

Ich bin mir nicht sicher, ob ich verstehe, was Sie wollen. meinst du, wähle zufällig die zahlen zwischen min und max mit schritt 0.5? dh eine der Nummern deiner Liste? – 1010

+1

@MarcB Wenn der Schritt 0,5 ist Ausgabe wird 'x.5' –

Antwort

4

Dies sollte für Sie arbeiten:

$min = 0; 
$max = 5; 
echo $number = mt_rand($min * 2, $max * 2)/2; 
+1

Verwenden Sie die Mathematik luke –

+0

@Dagon Was meinst du mit' Math luke'? Ich verstehe es nicht – Rizier123

+0

@ Rizier123: Nicht ein Star Wars Fan eh? – AbraCadaver

0

Eine andere Möglichkeit:

function decimalRand($iMin, $iMax, $fSteps = 0.5) 
{ 
    $a = range($iMin, $iMax, $fSteps); 

    return $a[mt_rand(0, count($a)-1)]; 
} 
Verwandte Themen