C++中的数字转字符串to_string
短信预约 -IT技能 免费直播动态提醒
C++数字转字符串to_string
有时候我们在编程的时候,需要将数字转换成字符串,c++ string 中有个方便的函数,就是to_string。
例子:
#include <iostream>
#include <string>
using namespace std;
int main()
{
int i= -5;
cout << to_string(i) << endl;
return 0;
}
结果输出 ‘“-5”。
to_sting函数原型:
函数原型:
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);
内置的基本数值类型基本都可以使用这个函数转换成字符串。
C++转换为字符串(to_string;to_wstring)
一、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);
将数值转换为字符串
返回表示为val的字符串。
使用的格式与printf为相应类型打印的格式相同:
val的类型 | printf等价物 | 描述 |
---|---|---|
int | “%d” | val的十进制基表示。负值的表示前面带有减号( - ) |
long | “%ld” | 同上 |
long long | “%lld” | 同上 |
unsigned | “%u” | val的十进制基表示 |
unsigned long | “%lu” | 同上 |
unsigned long long | “%llu” | 同上 |
float | “%f” | 根据需要写入多个数字来表示整数部分,然后是小数点字符和六个十进制数字。inf(或无穷大)用于表示无穷大。nan(后跟可选的字符序列)表示NaNs(非数字)。负值的表示前面带有减号( - ) |
double | “%f” | 同上 |
long double | “%Lf” | 同上 |
参数
- val
- 数值
返回值
一个字符串对象,包含val表示为一系列字符。
// to_string example
#include <iostream> // std::cout
#include <string> // std::string, std::to_string
int main ()
{
std::string pi = "pi is " + std::to_string(3.1415926);
std::string perfect = std::to_string(1+2+4+7+14) + " is a perfect number";
std::cout << pi << '\n';
std::cout << perfect << '\n';
return 0;
}
异常
字符串构造函数可能会抛出。
二、to_wstring
wstring to_wstring (int val);
wstring to_wstring (long val);
wstring to_wstring (long long val);
wstring to_wstring (unsigned val);
wstring to_wstring (unsigned long val);
wstring to_wstring (unsigned long long val);
wstring to_wstring (float val);
wstring to_wstring (double val);
wstring to_wstring (long double val);
将数值转换为宽字符串
返回表示为val的wstring。
使用的格式与wprintf为相应类型打印的格式相同:
val的类型 | wprintf等价物 | 描述 |
---|---|---|
int | L"%d" | val的十进制基表示。负值的表示前面带有减号( - ) |
long | L"%ld" | 同上 |
long long | L"%lld" | 同上 |
unsigned | L"%u" | val的十进制基表示 |
unsigned long | L"%lu" | 同上 |
unsigned long long | L"%llu" | 同上 |
float | L"%f" | 根据需要写入多个数字来表示整数部分,然后是小数点字符和六个十进制数字。inf(或无穷大)用于表示无穷大。nan(后跟可选的字符序列)表示NaNs(非数字)。负值的表示前面带有减号( - ) |
double | L"%f" | 同上 |
long double | “%Lf” | 同上 |
参数
- val
- 数值
返回值
一个wstring对象,包含val的表示形式作为字符序列。
// to_wstring example
#include <iostream> // std::wcout
#include <string> // std::wstring, std::to_wstring
int main ()
{
std::wstring pi = L"pi is " + std::to_wstring(3.1415926);
std::wstring perfect = std::to_wstring(1+2+4+7+14) + L" is a perfect number";
std::wcout << pi << L'\n';
std::wcout << perfect << L'\n';
return 0;
}
异常
wstring构造函数可能会抛出。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341