सी ++ 11 के शीर्षलेख में, संख्या और स्ट्रिंग के बीच रूपांतरण के लिए तीन नए कार्य हैं।संख्यात्मक रूपांतरण
std::string std::to_string(unsigned long long);
std::string std::to_string(long double);
std::string std::to_string(long long);
पहला प्रश्न - केवल 3 कार्य क्यों हैं? सरल int या unsigned int, आदि के बारे में क्या?
दूसरा प्रश्न - क्यों to_string निम्नलिखित कोड में अपवाद नहीं फेंकता है?
long double x = std::numeric_limits<long double>::quiet_NaN();
std::string i = std::to_string(x);
long double c = std::stold(i); // i = "1.#QNAN"
और तीसरा सवाल - क्यों सी 1.0 बराबर है?
जंगली अनुमान, लेकिन शायद केवल उन तीन मौजूद हैं क्योंकि छोटे पूर्णांक और फ़्लोटिंग पॉइंट प्रकारों को आसानी से जानकारी के नुकसान के बिना उन्हें परिवर्तित किया जा सकता है। – Collin