(numerator + denominator-1)/denominator
गोलाई विभाजन करने के लिए फर्श विभाजन परिवर्तित करने के लिए मुझे रैंडी प्रोक्टर का जवाब सबसे अच्छा लगता है। यहाँ और अधिक विस्तार से:
आप वास्तविक पूर्णांकन (अर्थात 3/2 -> 2, लेकिन 17/7 -> 2) करना चाहते हैं तो पूर्णांकों> 0 के साथ: उपयोग dividend/divisor
के बजाय (dividend + (divisor/2))/divisor
।
यदि लाभांश कोई पूर्णांक हो सकता है (यानी ऋणात्मक अनुमत): (dividend >= 0) ? ((dividend + divisor/2)/divisor) : ((dividend - divisor/2)/divisor)
।
यदि लाभांश कोई पूर्णांक और विभाजक कोई पूर्णांक है लेकिन 0: (dividend >= 0) ? ((dividend + Math.abs(divisor)/2)/divisor) : ((dividend - Math.abs(divisor)/2)/divisor)
।
(ध्यान दें कि इसके अलावा और घटाव एक wraparound कि अन्यथा, घटित नहीं परिणाम गलत प्रतिपादन होगा हो सकता है।)
धन्यवाद हर एक, –
क्या आप केवल 0.5 के आसपास की तलाश कर रहे हैं? या 0.3 ऊपर गोल, आदि? – jvenema
@jvenema: बिल्कुल - प्रस्तावित समाधानों में से अधिकांश 1.0 से अधिक कुछ मानना चाहिए 2. उदाहरण के लिए, 7/3 2.333 है लेकिन 3 तक होगा। हालांकि, ओपी से उदाहरण दिया गया है, यह स्पष्ट नहीं है कि यह वांछित है या नहीं या नहीं। – GalacticCowboy