C++ 中 string 和其它类型的相互转化。


sscanf、sprintf 也可以用,但是不建议使用,实际上 c++ 实现 string 和其他数据类型的转换很容易完成,见如下代码:

#include <iostream>
using std::cout;
using std::endl;
#include <string>
using std::string;

#include <sstream>
using std::stringstream;
using std::ostringstream;

template <class T>  
string toString(const T& s); 

int main() 
{
    string value = ""; 
    int inum = 0;
    double dnum = 0.0;
    value = "123";
    stringstream strStream;
    strStream << value; 
    strStream >> inum;
    strStream.clear();  // 必须 clear,否则下一次调用不成功

    value = "123.45";
    strStream << value;
    strStream >> dnum;

    cout << inum << " " << dnum <<endl;
    
    string test = ""; 
    test = toString(dnum);
    cout << test << endl;

    return 0;
}

//其它类型转化为string类型
template <class T>  
string toString(const T& s) {
    ostringstream os;
    os << s;
    return os.str();
}


注意:若文本中数据是科学计数型,例如文本是:1.44e-07   仍能正常转化.


参考:

istringstream, ostringstream, stringstream 实现数据类型转化为 string


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C++string类型C++标准库的一部分,用于字符串处理。可以使用输入输出流方式直接进行string操作,也可以通过文件等手段进行string操作。同时,C++的算法库对string类也有着很好的支持,并且string类还与C语言的字符串之间有着良好的接口。 在C++,可以通过insert方法将一个字符串插入到另一个字符串的指定位置。例如,在引用的示例代码,我们可以看到如何使用insert方法将字符串" good."插入到字符串"I am"的第4个位置,结果为"I am good."。 此外,还可以将int类型转换为string类型C++有两种常见的方法可以实现这个转换。第一种方法是使用stringstream类,通过将int类型的数据写入stringstream对象,再通过调用stringstream对象的str()方法获取转换后的string类型数据。示例代码如引用所示。第二种方法是使用to_string函数,将int类型的数据直接转换为string类型。示例代码如引用所示。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [C++string类用法简介](https://blog.csdn.net/liitdar/article/details/80498634)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值