2011-07-15 14 views
16

से शुरू नहीं होता है मैं 7 से 10 के बीच संख्या कैसे उत्पन्न कर सकता हूं? अब तक सब मैं समझ गए होंगे 0-10 से एक श्रेणी में पैदा कर रहा है:रेंज में यादृच्छिक पूर्णांक उत्पन्न करना जो शून्य

Math.floor(Math.random()*11) 
+1

soooo कई बार पूछा कि पहले .... –

+6

और 7 (जो आप चाहते हैं) और 0 के बीच का अंतर (आप उत्पन्न कर सकते हैं) कितना है? –

+0

एसएलॉट की अधिक टिप्पणियां जो मैंने पढ़ी हैं, खासतौर पर देर रात के, जितना अधिक मैं उसे पसंद करता हूं। – Jordan

उत्तर

20

Math.floor(7 + Math.random() * 4) 7 से 10 समावेशी करने के लिए संख्या उत्पन्न होगा।

4

बस का कहना है कि इस:

Math.floor(Math.random()*4) + 7 

यह 0-3 से एक यादृच्छिक संख्या उत्पन्न होगा और फिर इसे करने के लिए 7 जोड़ने के लिए, 7-10 मिलता है।

60
function getRandom(min, max) { 
    return min + Math.floor(Math.random() * (max - min + 1)); 
} 

for(var x = 0; x < 5; x++) { 
    alert(getRandom(7, 10)); 
} 
+8

+1 इसे न्यूनतम, सामान्य पर आधारित एक सामान्य उद्देश्य फ़ंक्शन बनाने के लिए +1। – jfriend00

+0

यादृच्छिक गुणा (अधिकतम-मिनट) आपको इच्छित श्रेणी नहीं देता है। न्यूनतम रूप में रूपांतर एमएक्स + बी में न्यूनतम "बी" होना चाहिए। – NullVoxPopuli

+0

@NullVoxPopuli, क्या आपने इसे आजमाया है? 43 संतुष्ट ग्राहकों को अब तक, और मैंने अभी वितरण सीमा की जांच की है और यह मेरे लिए सही लग रहा है। यहां एक पहेली है: http://jsfiddle.net/UCX9c/1/ – Jordan

संबंधित मुद्दे