मैं जावास्क्रिप्ट में पूरी संख्याओं के लिए कैसे गोल कर सकता हूं?


91

मेरे पास एक निश्चित प्रतिशत की गणना करने के लिए निम्नलिखित कोड है:

var x = 6.5;
var total;

total = x/15*100;

// Result  43.3333333333

परिणाम के रूप में मैं जो चाहता हूं, वह सटीक संख्या है 43और यदि कुल है तो 43.5इसे गोल किया जाना चाहिए44

क्या जावास्क्रिप्ट में ऐसा करने का कोई तरीका है?

जवाबों:


166

Math.round()परिणाम को निकटतम पूर्णांक पर गोल करने के लिए फ़ंक्शन का उपयोग करें ।


मेरी भी मदद की! :) एमडीएन लिंक मित्र के लिए धन्यवाद :)
अफजल अहमद जीशान

1
लिंक का श्रेय @ जेरेमी को जाता है। इसे सम्मिलित करने के लिए धन्यवाद - यह एसओ पर शुरू हुआ और पांचवां उत्तर देने के लिए मैंने कभी भी जितने वोट मिले, उतने अधिक मज़े के साथ यह किया, जो निश्चित रूप से लिंक के कारण था। :-)
हमाखोल ने मोनिका

2
क्या ओपी यूपी का चक्कर नहीं लगाना चाहता था? यदि ऐसा है तो शायद Math.ceil () अधिक उपयुक्त होगा
Martellalex

1
@martellalex: इस सवाल से, ओपी 43.333 से 43 के लिए गोल करना चाहता था, लेकिन 43.5 से 44 के लिए गोल, जो वास्तव में ECMAScript के Math.round () निकटतम गोल करने के व्यवहार से मेल खाता है, और सकारात्मक अनंत की ओर सटीक आधा-पूर्णांक चल रहा है।
हमखोलम ने मोनिका जूल

64
//method 1
Math.ceil(); // rounds up
Math.floor(); // rounds down
Math.round(); // does method 2 in 1 call

//method 2
var number = 1.5; //float
var a = parseInt(number); // to int
number -= a; // get numbers on right of decimal

if(number < 0.5) // if less than round down
    round_down();
else // round up if more than
    round_up();

एक या एक संयोजन आपके प्रश्न को हल करेगा



8

Math.roundनंबर को निकटतम पूर्णांक पर गोल करने के लिए उपयोग करें :

total = Math.round(x/15*100);

4

एक फ्लोट x को गोल करने के लिए एक बहुत ही रसीला समाधान:

x = 0|x+0.5

या यदि आप बस अपने फ्लोट को फ़्लोर करना चाहते हैं

x = 0|x

यह एक बिटवाइज़ है या इंट 0 के साथ है, जो दशमलव के बाद सभी मानों को गिरा देता है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.