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<

法二:

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

int a=222;
    string s;
    stringstream res;
    res<>s;
    cout<

*将字符数字转化为double型数字:
float a; string s="1234.4"; stringstream res; res<>a; cout<;
可根据自己的需要,选择合适的方法。

你可能感兴趣的:(c++数字和字符之间的转化)