निर्दिष्ट दशमलव परिशुद्धता के साथ फ़्लोट्स का स्ट्रिंग्स में सटीक रूपांतरण
सी में, एक फ़्लोटिंग-पॉइंट संख्या को विशिष्ट परिशुद्धता के साथ एक स्ट्रिंग में परिवर्तित करना और दशमलव अंकों पर सावधानीपूर्वक विचार करने की आवश्यकता है। यह मार्गदर्शिका दो सामान्य समाधानों की खोज करती है: स्ट्रिंगस्ट्रीम और सी 17 से to_chars फ़ंक्शन।
स्ट्रिंगस्ट्रीम का उपयोग करना
स्ट्रिंगस्ट्रीम सी में स्ट्रिंग्स में हेरफेर करने के लिए एक बहुमुखी उपकरण है। किसी फ़्लोट को निर्दिष्ट परिशुद्धता के साथ स्ट्रिंग में बदलने के लिए, स्ट्रीम मैनिपुलेटर्स को लागू किया जा सकता है:
#include
#include
double pi = 3.14159265359;
std::stringstream stream;
stream - std::fixed यह सुनिश्चित करता है कि संख्या को दशमलव बिंदु और अंकों की निर्दिष्ट संख्या के साथ निश्चित-बिंदु नोटेशन में दर्शाया गया है।
- std::setprecision(2) प्रदर्शित किए जाने वाले दशमलव स्थानों की संख्या को नियंत्रित करता है।
to_chars फ़ंक्शन का उपयोग करना (C 17 और ऊपर)
के लिए अधिक तकनीकी उद्देश्यों, जैसे कि XML या JSON पर डेटा लिखना, C 17 में पेश किया गया to_chars फ़ंक्शन एक संक्षिप्त समाधान प्रदान करता है:
#include
#include
double pi = 3.14159265359;
std::array buffer;
auto [ptr, ec] = std::to_chars(buffer.data(), buffer.data() buffer.size(), pi,
std::chars_format::fixed, 2);
if (ec == std::errc{}) {
std::string s(buffer.data(), ptr);
}
else {
// Error handling
}
- std::to_chars फ़ंक्शन एक बफर (std::array फॉर्म में), एक संख्या और एक प्रारूप विनिर्देश लेता है (इस मामले में, std::chars_format::2 दशमलव के साथ तय किया गया है) स्थान)।
- यदि रूपांतरण सफल होता है, तो परिणामी स्ट्रिंग बफर से बनाई जाती है।
इन तकनीकों को नियोजित करके, आप सटीक नियंत्रण के साथ फ्लोट्स को सी में स्ट्रिंग्स में परिवर्तित कर सकते हैं दशमलव अंकों की संख्या, यह सुनिश्चित करती है कि आपका डेटा सटीक और आपकी आवश्यकताओं के अनुसार प्रस्तुत किया गया है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3