数值类型和字符串的相互转换

转载:

1.https://www.cnblogs.com/gtarcoder/p/4925592.html   比较实用

 

string和数值类型转换

    c++11提供了to_string方法,可以方便的将各种数值类型转换为 字符串类型:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
std::string to_string(int value);
std::string to_string(long int value);
std::string to_string(long long int value);
std::string to_string(unsigned int value);
std::string to_string(unsigned long long int value);
std::string to_string(float value);
std::string to_string(double value);
std::wstring to_wstring(int value);
std::wstring to_wstring(long int value);
std::wstring to_wstring(long long int value);
std::wstring to_wstring(unsigned int value);
std::wstring to_wstring(unsigned long long int value);
std::wstring to_wstring(float value);
std::wstring to_wstring(double value);

 

    还提供了stoxxx方法,将string转换为各种类型的数据:

1
2
3
4
std::string str = "1000";
int val = std::stoi(str);
long val = std::stol(str);
float val = std::stof(str);

 

    c++11还提供了字符串(char*)转换为整数和浮点类型的方法:

1
2
3
4
atoi: 将字符串转换为 int
atol: 将字符串转换为long
atoll:将字符串转换为 long long
atof: 将字符串转换为浮点数

 

宽窄字符转换

    c++11增加了unicode字面量的支持,可以通过L来定义宽字符 
std::wstring wide_str = L"中国人"; //定义了宽字符字符串 
    将宽字符转换为窄字符需要用到condecvt库中的std::wstring_convert。 
    std::wstring_convert使std::string和std::wstring之间的相互转换变得很方便,如代码

 
 
1
2
3
4
5
6
7
8
9
10
std::wstring wide_str = L"中国人";
std::wstring_convert<std::condecvt<wchar_t, char, std::mbstate_t>>
converter(new std::codecvt<wchar_t, char, std::mbstate_t>("CHS");
std::string narrow_str = converter.to_bytes(wide_str);
std::wstring wstr = converter.from_bytes(narrow_str);
std::cout << narrow_str << std::endl;
wcout.imbue(std::locale("chs"));
std::wcout << wstr << std::endl;
std::cout << wstr.size() << " " << wstr.length() << endl;
std::cout << narrow_str.size() << " " << narrow_str.length() << endl;

原文链接: https://www.cnblogs.com/MCSFX/p/12882331.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    数值类型和字符串的相互转换

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/348207

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月2日 上午4:56
下一篇 2023年3月2日 上午4:57

相关推荐