c++11总结18——std::to_string

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;
} 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值