精华内容
下载资源
问答
  • c++11总结18——std::to_string
    2021-06-23 21:00:36

    1. 概念

    std::to_string是c++11之后提供的转字符串函数,定义在头文件中。

    2. 类型

    std::string to_string( int value );  //与 std::sprintf(buf, "%d", value)在有足够大的 buf 时产生的内容相同
    
    std::string to_string( long value ); //与 std::sprintf(buf, "%ld", value)在有足够大的 buf 时产生的内容相同
    
    std::string to_string( long long value ); //与 std::sprintf(buf, "%lld", value)在有足够大的 buf 时产生的内容相同
    
    std::string to_string( unsigned value ); //与 std::sprintf(buf, "%u", value)在有足够大的 buf 时产生的内容相同
    
    std::string to_string( unsigned long value ); //与 std::sprintf(buf, "%lu", value)在有足够大的 buf 时产生的内容相同
    
    std::string to_string( unsigned long long value );  //与 std::sprintf(buf, "%llu", value) 在有足够大的 buf 时产生的内容相同
    
    std::string to_string( float value ); //std::sprintf(buf, "%f", value) 在有足够大的 buf 时产生的内容相同
    
    std::string to_string( double value ); //std::sprintf(buf, "%Lf", value) 在有足够大的 buf 时产生的内容相同
    
    std::string to_string( long double value ); 

    注意:

    std::to_string 由于格式化目的依赖本地环境,从而当多个线程同时调用 std::to_string 时可能会导致调用的部分序列化结果。 C++17 提供高性能、不依赖本地环境的替代者 std::to_chars

    3. 示例

    #include <string>
    #include <iostream>
    using namespace std;
    
    int main()
    {	
    	int i = 10;
    	std::string s = std::to_string(i);
    	cout<< s <<endl;  //10
     
        float f = 1.1;
        std::string s1 = std::to_string(f);
        cout<< s1 <<endl;  //1.100000
    
        double d = 12.23;
        std::string s2 = std::to_string(d);
        cout<< s2 <<endl;  //12.230000
    	
    	return 0;
    } 
    
    更多相关内容
  • mingw to_string()头文件

    2018-11-05 15:53:58
    补充mingw c++11下部分实现 (to_tring) 包括 wchar.h stdio.h
  • C++中的to_string()函数[C++11支持],to_string11C++ ->... std::basic_string定义于头文件std::string to_string(int value); (1) (C++11起)std::string to_string(long value); (2) (C++11起)s...

    C++中的to_string()函数[C++11支持],to_string11

    C++ -> 字符串库 -> std::basic_string

    定义于头文件

    std::string to_string(int value); (1) (C++11起)

    std::string to_string(long value); (2) (C++11起)

    std::string to_string(long long value); (3) (C++11起)

    std::string to_string(unsigned value); (4) (C++11起)

    std::string to_string(unsigned long value); (5) (C++11起)

    std::string to_string(unsigned long long value); (6) (C++11起)

    std::string to_string(float value); (7) (C++11起)

    std::string to_string(double value); (8) (C++11起)

    std::string to_string(long double value); (9) (C++11起)

    std::to_string是C++标准(2011年)的最新版本中引入的功能。旧的编译器可能不支持它。

    1) 有符号十进制整数转换为字符串内容相同的std::sprintf(buf, “%d”, value)会产生足够大的buf.

    2) 有符号十进制整数转换为字符串内容相同的std::sprintf(buf, “%ld”, value)会产生足够大的buf.

    3) 有符号十进制整数转换为字符串内容相同的std::sprintf(buf, “%lld”, value)会产生足够大的buf.

    4)std::sprintf(buf, “%u”, value)会产生足够大的buf了同样内容的一个字符串转换成一个无符号十进制整数.

    5)std::sprintf(buf, “%lu”, value)会产生足够大的buf了同样内容的一个字符串转换成一个无符号十进制整数.

    6)std::sprintf(buf, “%llu”, value)会产生足够大的buf了同样内容的一个字符串转换成一个无符号十进制整数.

    6)std::sprintf(buf, “%llu”, value)会产生足够大的buf了同样内容的一个字符串转换成一个无符号十进制整数.

    7,8) std::sprintf(buf, “%f”, value)会产生足够大的buf了同样内容的一个字符串转换成一个浮点值.

    9) std::sprintf(buf, “%Lf”, value)会产生足够大的buf了同样内容的一个字符串转换成一个浮点值.

    参数

    value - 一个数值转换

    返回值

    一个字符串保持转换后的值

    示例

    #include

    #include

    int main()

    {

    double f = 23.43;

    std::string f_str = std::to_string(f);

    std::cout << f_str << '\n';

    }

    输出:

    23.430000

    另请参阅

    to_wstring(C ++11)

    将整数或浮点值转换为wstring (函数)

    在较低版本C++标准中有另外几种格式将整数转为字符串:

    1.cstdlib中的itoa() (非标准的C函数, Windows特有的);

    2.sprintf();

    3.stringstream.str();

    相关链接:

    http://www.cplusplus.com/reference/string/to_string/

    https://stackoverflow.com/questions/662976/how-do-i-convert-from-stringstream-to-string-in-c

    https://stackoverflow.com/questions/1374468/stringstream-string-and-char-conversion-confusion

    相关文章暂无相关文章

    展开全文
  • std::to_string

    千次阅读 2019-04-13 15:40:51
    项目中遇到一个要将int转成std::string的使用,看到前面同事是通过stringstream实现的,感觉有点麻烦,实现方式如下: #include <iostream> #include <sstream> #include <string> using ...

    项目中遇到一个要将int转成std::string的使用,看到前面同事是通过stringstream实现的,感觉有点麻烦,实现方式如下:

    #include <iostream>
    #include <sstream>
    #include <string>
    using namespace std;
    
    int main()
    {
    	int sn = 33;
    	std::string s_user = "admin";
    	std::string s_str;
    	std::stringstream ss;
    	
    	ss.str("");
    	ss << sn;
    	ss >> s_str;
    
    	s_str += s_user;
    	cout << "s_str:" << s_str;
    	return 0;
    }
    

    通过搜索int转string发现了to_string()

    to_string()实现:

    #include <iostream>
    #include <string>
    using namespace std;
    
    int main()
    {
    	int sn = 33;
    	std::string s_user = "admin";
    	std::string s_str;
    	
    	s_str = std::to_string(sn) + s_user;
    	cout << "s_str:" << s_str;
    	return 0;
    }
    

    1.int转string

    1.1 c++11标准增加了全局函数std::to_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);
    

    示例一:

    // 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;
    }
    

    输出:

    pi is 3.141593
    28 is a perfect number
    

    1.2 采用sstream中定义的字符串流对象来实现

    #include <iostream>   // std::cout
    #include <string>     // std::string, std::to_string
    #include <sstream>	  // std::ostringstream
    using namespace std;
    int main ()
    {
    	ostringstream os; //构造一个输出字符串流,流内容为空 
    	int i = 12; 
    	os << i; //向输出字符串流中输出int整数i的内容 
    	cout << os.str() << endl; //利用字符串流的str函数获取流中的内容 
      	return 0;
    }
    

    这里利用ostringstream实现,其实和利用stringstream同理;

    C++引入了ostringstream、istringstream、stringstream这三个类,要使用他们创建对象就必须包含sstream.h头文件。

    istringstream类用于执行C++风格的串流的输入操作。

    ostringstream类用于执行C风格的串流的输出操作。

    stringstream类同时可以支持C风格的串流的输入输出操作。

    具体使用可参考:https://www.jb51.net/article/100691.htm

    2.string转int

    2.1 c++11标准使用std::stoi/stol/stoll等函数:

    #include <iostream>
    #include <string>
     
    int main()
    {
        std::string str1 = "45";
        std::string str2 = "3.14159";
        std::string str3 = "31337 with words";
        std::string str4 = "words and 2";
     
        int myint1 = std::stoi(str1);
        int myint2 = std::stoi(str2);
        int myint3 = std::stoi(str3);
        // error: 'std::invalid_argument'
        // int myint4 = std::stoi(str4);
     
        std::cout << "std::stoi(\"" << str1 << "\") is " << myint1 << '\n';
        std::cout << "std::stoi(\"" << str2 << "\") is " << myint2 << '\n';
        std::cout << "std::stoi(\"" << str3 << "\") is " << myint3 << '\n';
        //std::cout << "std::stoi(\"" << str4 << "\") is " << myint4 << '\n';
    }
    

    输出:

    std::stoi("45") is 45
    std::stoi("3.14159") is 3
    std::stoi("31337 with words") is 31337
    

    2.2 采用标准库中atoi函数,对于其他类型也都有相应的标准库函数,比如浮点型atof(),long型atol()等等

    string s = "12"; 
    int a = atoi(s.c_str());
    

    2.3 采用sstream头文件中定义的字符串流对象来实现转换

    istringstream is("12"); //构造输入字符串流,流的内容初始化为“12”的字符串 
    int i; 
    is >> i; //从is流中读入一个int整数存入i中
    

    参考资料:
    https://blog.csdn.net/u010510020/article/details/73799996
    https://zh.cppreference.com/w/cpp/string/basic_string/to_string

    展开全文
  • to_string() 函数

    千次阅读 2020-06-23 20:59:15
    包含头文件 <string> 功能:将括号内的 数字 转化为 字符串 to_string( idata ) #include <string> #include <iostream> int main() { std::string s="the pi is "; std::cout << s &...

    包含头文件 <string>

    功能:将括号内的 数字 转化为 字符串

    to_string( idata )

    #include <string>
    #include <iostream>
    int main()
    {
        std::string s="the pi is ";
        std::cout << s << std::endl; 
    
        s += std:: to_string(3.141592653589);
        std::cout << s << std::endl;
    
        s.clear();
        s = std:: to_string(2.7+3.14159);
        std:: cout << s << std::endl;
        
        system("pause");
        return 0;
    }

     

     运行结果:

    展开全文
  • C++11 std::to_string

    万次阅读 2019-02-14 22:32:59
    目前C ++11提供了std::to_string 效率方面:C风格的sprintf()没有动态分配内存效率最高;std::to_string其次;std::stringstream效率最差 从C++17开始,std::to_string的效率将不差于sprintf,同时有类型更安全的...
  • C++ to_string的使用

    千次阅读 2019-03-18 11:49:30
    举例: // to_string example #include &lt;iostream&gt; // std::cout ... // std::string, std::to_string int main () { std::string pi = "pi is " + std::to_string(3.1415926)...
  • 问题:dev c++编译时关于语句key += to_string(coding[i]);在声名#include 的前提下仍旧报错,上网查询要在tool-Compiler Options中勾选Add the following commands when calling the comoiler选项,然后在输入框中...
  • to_string在C++中无法使用?

    万次阅读 多人点赞 2017-11-02 14:15:37
    很多场合需要将一些基本数据类型转化成字符串,java中有toString方法,C++中也有to_string函数调用,包含文件为<string>。 具体用法可以看这里:to_string,测试例子: // to_string example #include <...
  • C++中to_string函数的用法

    千次阅读 2021-07-13 09:03:12
    to_string 函数:将数字常量转换为字符串,返回值为转换完毕的字符串 头文件:#include < string >(必须加) string s = to_string(i); //将整数i转换为字符串表示形式 string to_string (int val); string ...
  • C++ tips——知识点:to_string函数to_string()函数 to_string()函数 to_string 函数: 将数字常量转换为字符串, 返回值为转换完毕的字符串 头文件: #include string s = to_string(i); //将整数i转换为字符串表示...
  • C++ 之 to_string的用法

    千次阅读 2021-02-15 10:13:56
    前置条件:#include<string>   功能:将数字常量转换为字符串  ...std::string to_string(int value); (1) (C++11起)  std::string to_string(long value); (2) (C++11起)&...
  • C++ 之 to_string

    万次阅读 多人点赞 2018-09-05 22:12:09
    前置条件:#include&lt;string&gt;   功能:将数字常量转换为字符串 ...std::string to_string(int value); (1) (C++11起)  std::string to_string(long value); (2) (C++11起)  std::string to_...
  • 在C++11标准库中,string.h已经添加了to_string方法,方便从其他类型(如整形)快速转换成字面值。但是在NDK编译过程中发现如下问题: error: 'to_string' was not declared in this scope 使用std::to_string()...
  • C++实现——to_string(int num)函数

    千次阅读 2016-04-08 15:38:05
    //to_string 是C++11新的特性//数字转换成字符串 //即实现string to_string(int num) #include #include using namespace std; string my_to_string(int num){ //计算数字的位数 int len = log10(num) + 1; //...
  • c++ to_wstring和to_string保留指定位小数

    千次阅读 2018-11-03 10:27:24
    void setPrecision_float2wstring(wstring& s,int precision)//precision n.精度 {  int pos=s.find(L".",sizeof(wchar_t));//得到小数点的索引,从零开始  int i = s.length() - 1 - pos - ...to_string同理
  • 今天在dev c++中使用to_string函数的时候,发现不能使用。查找原因后发现是编译器的问题,希望能帮到其他小伙伴。 Dev C++ 编译器:在菜单栏点开工具(Tools)-> 编译选项(Compile Options),加上下图所示的...
  • 头文件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...
  • c++之to_string()函数

    2018-11-21 18:46:00
    函数原型: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 l...
  • c++ string头文件

    万次阅读 多人点赞 2016-10-13 18:25:36
    标准c++中string类函数介绍 注意不是CString 之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作...
  • to_string()用不了

    万次阅读 2018-04-24 10:19:36
    在C++11标准库中,string.h已经添加了to_string方法,方便从其他类型(如整形)快速转换成字面值。但是在NDK编译过程中发现如下问题:error: 'to_string' was not declared in this scope使用std::to_string()之后...
  • to_string函数

    2020-07-14 21:08:00
    前置条件:#include<string>   功能:将数字常量转换为字符串   参数:value  ...返回值:转换好的字符串 ...std::string to_string(int value); (1) (C++11起)  std::string to_st...
  • to_string函数的用法

    万次阅读 2019-07-20 19:12:23
    to_string 函数:将数字常量转换为字符串,返回值为转换完毕的字符串 头文件:#include<string> string s = to_string(i); //将整数i转换为字符串表示形式 string to_string (int val); string to_string ...
  • c++:stoi()和to_string()函数

    千次阅读 2021-02-03 16:33:44
    包含在头文件#include<string> 1.stoi函数 作用: 将 n 进制的字符串转化为十进制 用法 stoi(字符串,起始位置,n进制(默认10进制)),将 n 进制的字符串转化为十进制 举例: stoi(str...
  • codeblocks不能使用to_string的解决方案

    千次阅读 2019-10-09 22:09:07
    2.若问题不能解决则更新相关头文件 下载地址:Enabling string conversion functions in MinGW 将include文件夹下的wchar.h和stdio.h拷贝到MinGW的include文件夹中,一般是C:\mingw\include 或者 D:\Program Files\...
  • 一、利用stringstream ...二、利用to_string 头文件<string> 需要支持C++11 #include<iostream> #include<string> using namespace std; int main() { int n=89798; string s1; s1=to_st
  • 写在前面 原文链接:Enabling string conversion functions in MinGW ...头文件包含的函数:to_string()! 然而在Codeblocks等编译环境中,有时候会出现 to_string was not declared in this scope 等问题,原因...
  • C++数字转字符串 to_string()

    千次阅读 2021-03-16 20:50:05
    to_string() 可以将整数、浮点数等数字转换为字符串并返回得到的字符串(注意:只有支持C++11标准的编译器才可以编译成功) 调用形式: string to_string (int val); string to_string (long val); string to_string ...
  • to_string是c++11的新方法 可以将数值类型很轻松的转换为字符串类型。 官方的解释如下: Convert numerical value to string Returns astringwith the representation ofval. 使用方法如下: string to_...
  • 之前float、int等转字符串一直傻不拉几的用stringstream,最近才发现竟然有个to_stringstring to_string (int val); string to_string (long val); string to_string (long long val); string to_string ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 101,800
精华内容 40,720
关键字:

to_string头文件