تحويل مزدوج إلى سلسلة في C ++
سؤال
وأواجه بعض القضايا في محاولة لتحويل مزدوج إلى سلسلة C ++. هنا هو رمز بلادي
std::string doubleToString(double val)
{
std::ostringstream out;
out << val;
return out.str();
}
والمشكلة لدي هو ما إذا كان يتم تمرير ضعف في ك '10000000'. ثم قيمة السلسلة يتم إرجاعها 1E + 007
وكيف يمكنني الحصول على قيمة سلسلة باسم "10000000"
المحلول
#include <iomanip>
using namespace std;
// ...
out << fixed << val;
// ...
ويمكنك أن تجرب استخدام setprecision
لتعيين عدد من الأرقام العشرية:
out << fixed << setprecision(2) << val;
نصائح أخرى
#include <iomanip>
std::string doubleToString(double val)
{
std::ostringstream out;
out << std::fixed << val;
return out.str();
}
ويمكنك أيضا تعيين الحد الأدنى للعرض وملء شار المتلاعبين STL IO، مثل:
out.width( 9 ); out.fill( ' ' );
لا تنتمي إلى StackOverflow