जावास्क्रिप्ट का उपयोग करते हुए, मैं एक उपयोगकर्ता द्वारा पास किए गए नंबर को निकटतम 10 पर गोल करना चाहूंगा। उदाहरण के लिए, यदि 7 पास है तो मुझे 10 वापस करना चाहिए, यदि 33 पास हो तो मुझे 30 वापस करना चाहिए।
जवाबों:
संख्या को 10 से विभाजित करें, परिणाम को गोल करें और इसे फिर से 10 से गुणा करें:
var number = 33;
console.log(Math.round(number / 10) * 10);
Math.round(x / 10) * 10
कहाँ पे iएक इंट है।
10 के निकटतम गुणक में राउंड डाउन करना अर्थात
११ हो जाता है १०
१ ९ हो जाता है १०
२१ हो जाता है २० हो जाता है
parseInt(i / 10, 10) * 10;
10 के निकटतम गुणक यानी की राउंड अप करने के लिए
११ हो जाता है २०
१ ९ हो जाता है २०
२१ हो जाता है ३० हो जाता है
parseInt(i / 10, 10) + 1 * 10;
मुझे कुछ इसी तरह की जरूरत थी, इसलिए मैंने एक फंक्शन लिखा। मैंने यहाँ दशमलव गोलाई के लिए फ़ंक्शन का उपयोग किया है , और चूंकि मैं इसे पूर्णांक गोलाई के लिए भी उपयोग करता हूं, इसलिए मैं इसे उत्तर के रूप में भी सेट करूंगा। इस स्थिति में, केवल उस संख्या को पास करें जिसे आप राउंड करना चाहते हैं और फिर 10, वह संख्या जिसे आप राउंड करना चाहते हैं।
function roundToNearest(numToRound, numToRoundTo) {
return Math.round(numToRound / numToRoundTo) * numToRoundTo;
}
.25बस .25दूसरे तर्क के रूप में उपयोग कर सकते हैं । यदि आप अन्य उत्तरों में सूत्रों का उपयोग 4करना चाहते थे तो आपको दूसरे तर्क के रूप में उपयोग करना होगा जब आप गोल करना चाहते हैं .25, जो प्रति-सहज है।
.252 तर्क के रूप में उपयोग कर सही उत्तर देता है - मैंने इसे एक लाइनर फ़ंक्शन में बनाया हैfunction roundTo(x,y){return Math.round(x / y) * y}
Math.floorयदि आप ऊपर की ओर गोल को रोकना चाहते हैं तो यह तकनीक भी काम करती है