2015-01-13 6 views
5

के साथ दो दशमलव के बीच PHP यादृच्छिक दशमलव चरण 0.5 के साथ दो दशमलव संख्याओं के बीच यादृच्छिक संख्या बनाना चाहते हैं।चरण 0.5

उदाहरण: 0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, ...

उपयोग पीएचपी उत्पन्न करने के लिए रैंडम दशमलव beteween दो दशमलव

अब तक मैं एक दशमलव अल्पविराम के साथ 0 और 5 के बीच संख्या उत्पन्न कर सकता हूं।

चरण 0.5 को एकीकृत कैसे करें?

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

क्यों न सिर्फ 'mt_rand ($ मिनट + $ कदम है, $ max- $ कदम) + $ कदम '? –

+1

मुझे यकीन नहीं है कि मैं समझता हूं कि आप क्या चाहते हैं। क्या आपका मतलब यादृच्छिक रूप से चरण 0.5 के साथ न्यूनतम और अधिकतम के बीच की संख्या चुनें? यानी आपकी सूची की संख्या में से एक? – 1010

+1

@MarcB यदि चरण 0.5 आउटपुट होगा x x' –

उत्तर

4

यह आप के लिए काम करना चाहिए:

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

गणित ल्यूक –

+0

@ डैगन का उपयोग करें 'गणित ल्यूक' के साथ आपका क्या मतलब है? मुझे यह नहीं मिला – Rizier123

+0

@ रिज़ियर 123: स्टार वार्स प्रशंसक नहीं है? – AbraCadaver

0

एक अन्य संभावित रास्ता:

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

    return $a[mt_rand(0, count($a)-1)]; 
} 
संबंधित मुद्दे