C++中的数字转字符串to_string
作者:猿六凯
这篇文章主要介绍了C++中的数字转字符串to_string,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
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构造函数可能会抛出。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。