请问:怎么实现int数值、double数值与string类型字符串的相互转化
请教:如何实现int数值、double数值与string类型字符串的相互转化
例如 int i=123; double a=3.1416;
如何把i、a的值转换为string类型的字符串,且可控制有效位数?
反过来,如何把string类型的字符串转换为int、double类型变量的值呢?
请高手指教。
------解决方案--------------------
sprintf()好不好?
------解决方案--------------------
#include "iostream "
#include "string "
using namespace std;
int main(int argc, char *argv[])
{
int i = 123;
double a = 3.1416;
string stri;
string strf;
char buffer[128];
sprintf(buffer, "%d ", i);
stri = buffer;
sprintf(buffer, "%.4f ", a);
strf = buffer;
cout < <stri < <endl;
cout < <strf < <endl;
int i2 = atoi(stri.c_str());
double a2 = atof(strf.c_str());
cout < <i2 < <endl;
cout < <a2 < <endl;
return 0;
}
例如 int i=123; double a=3.1416;
如何把i、a的值转换为string类型的字符串,且可控制有效位数?
反过来,如何把string类型的字符串转换为int、double类型变量的值呢?
请高手指教。
------解决方案--------------------
sprintf()好不好?
------解决方案--------------------
#include "iostream "
#include "string "
using namespace std;
int main(int argc, char *argv[])
{
int i = 123;
double a = 3.1416;
string stri;
string strf;
char buffer[128];
sprintf(buffer, "%d ", i);
stri = buffer;
sprintf(buffer, "%.4f ", a);
strf = buffer;
cout < <stri < <endl;
cout < <strf < <endl;
int i2 = atoi(stri.c_str());
double a2 = atof(strf.c_str());
cout < <i2 < <endl;
cout < <a2 < <endl;
return 0;
}