English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
في هذا الدرس، سنتعلم باستخدام الأمثلة كيفية تحويل النص إلى عدد عشري والعكس صحيح.
أسهل طريقة لتحويل نص إلى عدد عشري باستخدامC ++ 11دالة:
std :: stof() - تحويل string إلى float
std :: stod() - تحويل string إلى double
std :: stold() - تحويل string إلى long double.
هذه الدوال معرفة في ملف string
#include<iostream> #include<string> int main() { std::string str = "123.4567"; // تحويل النص إلى عدد عشري float num_float = std::stof(str); // تحويل النص إلى عدد عشري ثنائي double num_double = std::stod(str); std::cout << "num_float = " << num_float << std::endl; std::cout << "num_double = " << num_double << std::endl; return 0; }
نتائج الإخراج
num_float = 123.457 num_double = 123.457
يمكننا استخدام دالة std::atof() لتحويل مصفوفة الحروف إلى double.
#include<iostream> //يحتاج atoi() إلى cstdlib #include<cstdlib> int main() { //إعلان وتعيين مصفوفة الحروف char str[] = "123.4567"; double num_double = std::atof(str); std::cout << "num_double = " << num_double << std::endl; return 0; }
نتائج الإخراج
num_double = 123.457
يمكننا استخدام دالة C++ 11 std::to_string() لتحويل float وdouble إلى نص. بالنسبة للمحولات القديمة، يمكننا استخدام موضوع std::stringstream.
#include<iostream> #include<string> int main() { float num_float = 123.4567F; double num_double = 123.4567; std::string str1 = std::to_string(num_float); std::string str2 = std::to_string(num_double); std::cout << "Float إلى String = " << str1 << std::endl; std::cout << "Double إلى String = " << str2 << std::endl; return 0; }
نتائج الإخراج
تحويل Float إلى String = 123.456703 تحويل Double إلى String = 123.456700
#include<iostream> #include<string> #include<sstream> //استخدام stringstream int main() { float num_float = 123.4567F; double num_double = 123.4567; //إنشاء موضوع stringstream std::stringstream ss1; std::stringstream ss2; //تخصيص قيمة num_float لـ ss1 ss1 << num_float; //تخصيص قيمة num_float لـ ss2 ss2 << num_double; //يتم تعيين قيم ss1 و ss2 لتعيين متغيرين نصيين //ثم يستخدم دالة str() لتحويلها إلى شكل نصي std::string str1 = ss1.str(); std::string str2 = ss2.str(); std::cout << "Float إلى String = " << str1 << std::endl; std::cout << "Double إلى String = " << str2 << std::endl; return 0; }
نتائج الإخراج
Float إلى String = 123.457 Double إلى String = 123.457
التحويلات ذات الصلة: تحويل تحويل النص إلى int في C++.