c++数字和字符之间的转化

关于C++中数与字符之间的转化


在c++中我们经常遇到需要把一个数变成字符,或者把字符变为一个数,c++中没有直接的转化函数,故我们需要自己去写函数去转化,这里我将介绍两种比较简单的方法:

法一:

  • sprintf()函数把一个数字如何变成一个字符串:
  float a=23.309774;
	char ss[8];
	sprintf(ss,"%lf",a);

使用这种方法直接将数字a变成了字符串ss,值得注意的是,这种是把数字转化为数组,可以通过ss[i]这种方式提取任何元素,ss数组的大小一般定为数字的位数。
此处用到了部分c语言知识,可以参考下面知识:


如果是int型,则应变化相应的部分。

  • sscanf()函数把一个字符变为一个数字:
char str[]="12233";
	int a;
	sscanf(str,"%d",&a);
	cout<<a<<endl;
	cout<<a+22<<endl;

法二:

利用stringstream流来完成。
使用前必须添加#include "sstream"
*将数字转化为字符:

int a=222;
	string s;
	stringstream res;
	res<<a;
	res>>s;
	cout<<s<<endl;
	cout<<s+"anbb";

*将字符数字转化为double型数字:

float  a;
	string s="1234.4";
	stringstream res;
	res<<s;
	res>>a;
	cout<<a<<endl;
	cout<<a+2.3;
```;
可根据自己的需要,选择合适的方法。
原文地址:https://www.cnblogs.com/lixianhu1998/p/12172928.html