निम्नलिखित कोड को देखते हुए:हजारों विभाजक के रूप में अल्पविराम डालने के लिए आप कोउट लोकेल कैसे सेट करते हैं?
cout << 1000;
मुझे निम्न आउटपुट चाहिए:
1,000
यह std :: locale, और cout.imbue() फ़ंक्शन का उपयोग करके किया जा सकता है, लेकिन मुझे डर है I यहां एक कदम गुम हो सकता है। क्या आप इसे खोज सकते हैं? मैं वर्तमान में वर्तमान लोकेल की प्रतिलिपि बना रहा हूं, और हजारों विभाजक पहलू को जोड़ रहा हूं, लेकिन कॉमा मेरे आउटपुट में कभी नहीं दिखाई देता है।
template<typename T> class ThousandsSeparator : public numpunct<T> {
public:
ThousandsSeparator(T Separator) : m_Separator(Separator) {}
protected:
T do_thousands_sep() const {
return m_Separator;
}
private:
T m_Separator;
}
main() {
cout.imbue(locale(cout.getloc(), new ThousandsSeparator<char>(',')));
cout << 1000;
}
क्या आपने सटीक कोड को संकलित करने का प्रयास किया है जिसे आप चाहते हैं कि आप विश्वास कर रहे हैं कि आप इसका उपयोग कर रहे हैं? –
संभावित डुप्लिकेट [क्या कोई अंतर्निहित फ़ंक्शन है जो अल्पविराम से सी, सी ++, या जावास्क्रिप्ट में एक संख्या को अलग करता है?] (Http://stackoverflow.com/questions/3479485/is-there-a-built-in- फ़ंक्शन-द-कॉमा-से अलग-ए-संख्या-इन-सीसी-या-जावास्क्रिप्ट) –
क्या कोई memleak है? –