संख्याओं को पूर्णांक बनाना

C++:
संख्याओं को पूर्णांक बनाना

कैसे:

C++ कई तरीके प्रदान करता है संख्याओं को गोल करने के लिए, जैसे कि floor(), ceil(), और round():

#include <iostream>
#include <cmath> // गोल करने के फंक्शन्स के लिए

int main() {
    double num = 3.14;

    std::cout << "floor: " << std::floor(num) << "\n"; // आउटपुट: floor: 3
    std::cout << "ceil: " << std::ceil(num) << "\n";   // आउटपुट: ceil: 4
    std::cout << "round: " << std::round(num) << "\n"; // आउटपुट: round: 3

    // दो दशमलव तक गोल करने के लिए, जैसे कि :
    double precise_num = 3.146;
    double multiplier = 100.0;
    double rounded = std::round(precise_num * multiplier) / multiplier;

    std::cout << "दो दशमलव तक गोल की गई: " << rounded << "\n"; // आउटपुट: दो दशमलव तक गोल की गई: 3.15

    return 0;
}

गहराई में

C++11 से पहले, गोल करने पर निर्भर था मैनुअल तकनीकों पर या गैर-मानक पुस्तकालयों पर। आज, <cmath> मजबूत तरीके प्रदान करता है। floor() नीचे की ओर गोल करता है, ceil() ऊपर की ओर गोल करता है, जबकि round() नजदीकी पूर्णांक की ओर जाता है, यहाँ तक कि 0.5 मामलों में टाई-ब्रेकिंग को भी संभालता है द्वारा सम संख्या में गोल करने के लिए।

इन फंक्शन्स के व्यवहार को समझना महत्वपूर्ण है; उदाहरण के लिए, नकारात्मक संख्याएँ आपको परेशान कर सकती हैं (std::round(-2.5) का परिणाम है -2.0).

विकल्प? सकारात्मक संख्याओँ के लिए 0.5 जोड़ने के बाद एक int में ढालना एक पारंपरिक हैक था लेकिन नकारात्मकों के साथ गलती करता है और यह प्रकार-अनभिज्ञाता नहीं है। बूस्ट जैसे पुस्तकालय अधिक सूक्ष्म दृष्टिकोण प्रदान कर सकते हैं, जबकि भाषा एक्सटेंशन या कंपाइलर इंट्रिंसिक्स विशिष्ट हार्डवेयर के लिए अनुकूलन कर सकते हैं।

देखें भी