"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > C++ में स्ट्रिंग्स को डबल्स में कैसे बदलें: `std::istringstream` और `std::stod` का उपयोग करने वाली एक सरल मार्गदर्शिका

C++ में स्ट्रिंग्स को डबल्स में कैसे बदलें: `std::istringstream` और `std::stod` का उपयोग करने वाली एक सरल मार्गदर्शिका

2024-11-16 को प्रकाशित
ब्राउज़ करें:756

How to Convert Strings to Doubles in C  : A Simple Guide Using `std::istringstream` and `std::stod`

सी में स्ट्रिंग्स को डबल्स में कनवर्ट करना

सी में, एक स्ट्रिंग को डबल में कनवर्ट करना std::istringstream और std::stod फ़ंक्शंस का उपयोग करके प्राप्त किया जा सकता है।

#include 

double string_to_double(const std::string& s) {
  std::istringstream iss(s);
  double x;
  if (!(iss >> x)) {
    return 0;  // Return 0 for non-numerical strings
  }
  return x;
}

यहां बताया गया है कि यह फ़ंक्शन कैसे काम करता है:

  1. इनपुट स्ट्रिंग एस से एक std::istringstream ऑब्जेक्ट iss बनाएं।
  2. एक निकालने के लिए >> ऑपरेटर का उपयोग करें iss से दोगुना मान।
  3. यदि निष्कर्षण सफल है, तो दोगुना मान लौटाएं।
  4. यदि निष्कर्षण विफल रहता है (उदाहरण के लिए, स्ट्रिंग संख्यात्मक नहीं है), 0 लौटाएँ। उदाहरण के लिए, यह निम्नलिखित सभी स्ट्रिंग्स को शून्य मानता है:
"0" "0।" "0.0"

स्ट्रिंग_टू_डबल फ़ंक्शन के उपयोग को प्रदर्शित करने के लिए यहां कुछ परीक्षण मामले दिए गए हैं:
"0"
"0."
"0.0"

#include मुख्य प्रवेश बिंदु() { assert(0.5 == string_to_double("0.5")); assert(0.5 == string_to_double("0.5 ")); assert(0.5 == string_to_double(" 0.5")); assert(0.5 == string_to_double("0.5a")); assert(0 == string_to_double("0")); assert(0 == string_to_double("0.")); assert(0 == string_to_double("0.0")); assert(0 == string_to_double("foobar")); वापसी 0; }

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3