函数————to_string(将数字转换成字符串)

一般常用的转换字符串的方法std::stringstream,但是效率较低;目前C ++11提供了std::to_string

效率方面:C风格的sprintf()没有动态分配内存效率最高;std::to_string其次;std::stringstream效率最差

从C++17开始,std::to_string的效率将不差于sprintf,同时有类型更安全的转换函数std::to_char。

函数重载原型:

l w string to_string(int val);  

l w string to_string(long val);  

l w string to_string(long long val);  

l w string to_string(unsigned val);  

l w string to_string(unsigned long val);  

l w string to_string(unsigned long long val);  

l w string to_string(float val);  

l w string to_string(double val);  

l w string to_string(long double val);

 1 1.#include <iostream>  
 2 2.#include <string// std::to_string  
 3 3.#include <sstream> // std::stringstream  
 4 4.int main()  
 5 5.{  
 6 6.    // old method  
 7 7.    std::stringstream ss;  
 8 8.    ss << 1.23;  
 9 9.    std::string str = ss.str();  
10 10.    std::cout << str << std::endl;  
11 11.    // new method  
12 12.    std::string pi = "pi is" + std::to_string(3.1415926);  
13 13.    std::string perfect = std::to_string(1 + 2 + 4 + 7 + 14) + "is a perfect number";  
14 14.    std::cout << pi << std::endl;  
15 15.    std::cout << perfect << std::endl;  
16 16.    return 0;  
17 17.}  

 

1. #include <iostream>  

2. #include <string> // std::to_string  

3. #include <sstream> // std::stringstream  

4. int main()  

5. {  

6.     // old method  

7.     std::stringstream ss;  

8.     ss << 1.23;  

9.     std::string str = ss.str();  

10.     std::cout << str << std::endl;  

11.     // new method  

12.     std::string pi = "pi is" + std::to_string(3.1415926);  

13.     std::string perfect = std::to_string(1 + 2 + 4 + 7 + 14) + "is a perfect number";  

14.     std::cout << pi << std::endl;  

15.     std::cout << perfect << std::endl;  

16.     return 0;  

17. }  

posted @ 2019-06-19 20:33  Austin_anheqiao  阅读(3638)  评论(0编辑  收藏  举报