c++ string与常用数值变量互转
写了几个字符串与数值变量互相转换的几个函数,每次用到都要上网查一堆,耽误时间,写好放到这里备用。方法有很多,这里列出来测试过能用的,其他方法慢慢添加。以下函数自动判断int或者double。
测试环境:
- 系统:win7或者win10
- IDE:vs2015
本文包含的内容:
c++ string与常用数值变量互转
1. 头文件
2. int转string
3. double转string
4. string转int
5. string转double
6. 测试
7. 其他方法std::to_string
1. 头文件
请留意包含的头文件,以及命名空间。可以先加上如下代码,在使用本文的几个转换函数。
#include <string>
#include <sstream>using namespace std;
2. int转string
void num2string(int num, string &str)
{stringstream ss;ss << num;str = ss.str();
}
3. double转string
void num2string(double num, string &str)
{stringstream ss;ss << num;str = ss.str();
}
4. string转int
void string2num(string str, int &num)
{stringstream ss;ss << str;ss >> num;
}
5. string转double
void string2num(string str, double &num)
{stringstream ss;ss << str;ss >> num;
}
6. 测试
// string2num_num2string.cpp : 定义控制台应用程序的入口点。
//#include "stdafx.h"
#include <string>
#include <sstream>
#include <iostream>using namespace std;void num2string(int num, string &str)
{stringstream ss;ss << num;str = ss.str();
}void num2string(double num, string &str)
{stringstream ss;ss << num;str = ss.str();
}void string2num(string str, int &num)
{stringstream ss;ss << str;ss >> num;
}void string2num(string str, double &num)
{stringstream ss;ss << str;ss >> num;
}int main()
{int i = 10;double d = 10.5;// 数值转stringstring str_i;string str_d;num2string(i, str_i);num2string(d, str_d);cout << "str_i = " << str_i << endl;cout << "str_d = " << str_d << endl;// string转数值int x;double y;string2num(str_i, x);string2num(str_d, y);cout << "x = " << x << endl;cout << "y = " << y << endl;system("pause");return 0;
}
运行结果
7. 其他方法std::to_string
c++11标准增加了全局函数std::to_string用于将数值类型变量转换为string类型变量,也可直接使用。
string to_string (int val);
string to_string (long val);
string to_string (long long val);
string to_string (unsigned val);
string to_string (unsigned long val);
string to_string (unsigned long long val);
string to_string (float val);
string to_string (double val);
string to_string (long double val);
本文更新地址:https://blog.csdn.net/iracer/article/details/94435586
新书终于面市啦,《机器学习原理与编程实战》连接原理与实战:
https://blog.csdn.net/iracer/article/details/116051674?spm=1001.2014.3001.5501