#include<iostream>
#include <string>
#include <stdio.h>
#include <cstdlib>
#include <sstream>
using namespace std;
int conversion_type() {
// string 转 int
string num01_str = "123";
int num01_int = atoi(num01_str.c_str());
// string 转 long
string num02_str = "9876543210";
long num02_long = atol(num01_str.c_str());
// string 转 float
string num03_str = "9.8765";
float num03_float = atof(num03_str.c_str());
// string 转 double
string num04_str = "1255639.8780913415";
double num04_double;
//方法1
num04_double = atof(num04_str.c_str());//方法1
//
//方法2
//string::size_type size;
//num04_double = stod(num04_str, &size);
//方法3
//istringstream istrStream(num04_str);
//istrStream >> num04_double;
// string 转 char
string num05_str = "hello";
const char *num05_char= num05_str.c_str();
printf("%d\n%d\n%f\n%f\n%s\n",num01_int, num02_long,num03_float,num04_double, num05_char);
// int 转 string
int a = 1;
string b = to_string(a);
// long 转 string
long i = 1234567890;
string j = to_string(i);
// float 转 string
float c = 3.1415;
string d = to_string(c);
// double 转 string
double e = 3.1415926535;
string f = to_string(e);
// char 转 string
const char *g = "world"; //一定要双引号
string h = g;
//cout << b <<endl<< d << endl << f << endl << h << endl;
printf("%s\n%s\n%s\n%s\n%s", b.c_str(), j.c_str(), d.c_str(), f.c_str(), h.c_str());
return 0;
}
|