c++中怎么把单个数字转换成单个字符

2020-12-09 15:24:58 字数 6414 阅读 7423

1楼:匿名用户

你说的是数字转换成ascii码么?

比如你有字符类型的变量

charx=1;

你要是想把这个1转换成字符c而不是数字1,也就是说你用printf("%c")来打印的时候希望看到的是1而不是一个乱七八糟的东西,你就需要将你的数据加48,然后用printf("%c")打印出来,就能得到字符了

2楼:

+'0'就转换为字符了……你说得对!

如何在c或c++中将单个字符型数据转换为相应的数字型数据

3楼:匿名用户

把单个字符型数据转换为相应的数字,只需用强制转换符即可,不需任何函数,例如:

char str='a';

int x=(int)str;

这样,x就等于a的ascii码65。

如果你是

char str='9'; //然后想得到9这个数字,而不是9的ascii码,那么只需要如下即可:

int x=(int)str-48; //因为字符0的ascii码是48,所以只需要减去48,就是这个字符的数值。

4楼:匿名用户

int atoi(const char *nptr);

这个函数可以,

参数nptr字符串,如果第一个非空格字符存在,是数字或者正负号则开始做类型转换,之后检测到非数字(包括结束符 \0) 字符时停止转换,返回整型数。否则,返回零

如何用c++将数字“1”转换成字符“1”

5楼:匿名用户

1 ->‘1’

2 ->'2'

...由数字 i 得到字符 i

int int_i;

char char_i;

char_i = i+48;

+48是因为字符‘0’的ascii码编号是48,1是49,依此类推

6楼:无度风霜雪雨

1、字符串数字之间的转换

(1)string --> char *

string str("ok");

char * p = str.c_str();

(2)char * -->string

char *p = "ok";

string str(p);

(3)char * -->cstring

char *p ="ok";

cstring m_str(p);

//或者

cstring m_str;

m_str.format("%s",p);

(4)cstring --> char *

cstring str("ok");

char * p = str.getbuffer(0);

...str.releasebuffer();

(5)string --> cstring

cstring.format("%s", string.c_str());

(6)cstring --> string

string s(cstring.getbuffer(0));

getbuffer()后必然要releasebuffer(),不然就没有开释缓冲区所占的空间,cstring对象不克不及动态增长了。

(7)double/float->cstring

double data;

cstring.format("%.2f",data); //保存2位小数

(8)cstring->double

cstring s="123.12";

double d=atof(s);

(9)string->double

double d=atof(s.c_str());

2、数字转字符串:应用sprintf()函数

char str[10];

int a=1234321;

sprintf(str,"%d",a);

--------------------

char str[10];

double a=123.321;

sprintf(str,"%.3lf",a);

--------------------

char str[10];

int a=175;

sprintf(str,"%x",a);//10进制转换成16进制,若是输出大写的字母是sprintf(str,"%x",a)

--------------------

char *itoa(int value, char* string, int radix);

同样也可以将数字转字符串,不过itoa()这个函数是平台相干的(不是标准里的),故在这里不推荐应用这个函数。

3、字符串转数字:应用sscanf()函数

char str="1234321";

int a;

sscanf(str,"%d",&a);

.............

char str="123.321";

double a;

sscanf(str,"%lf",&a);

.............

char str="af";

int a;

sscanf(str,"%x",&a); //16进制转换成10进制

别的也可以应用atoi(),atol(),atof().

4、应用stringstream类

用ostringstream对象写一个字符串,类似于sprintf()

ostringstream s1;

int i = 22;

s1 << "hello " << i << endl;

string s2 = s1.str();

cout << s2;

用istringstream对象读一个字符串,类似于sscanf()

istringstream stream1;

string string1 = "25";

stream1.str(string1);

int i;

stream1 >> i;

cout << i << endl; // displays 25

7楼:大气猫

#include

int main()

}// 上面循环结束后,str得到的是 "54321"的倒序// 所以循环处理将12345放入另外一个数组for(i = 0, c= c-1 ; c >= 0; i++,c--)

printf("%s\n",str1);

return 0;}

c++中如何实现将数字转换成字符串?

8楼:匿名用户

你需要#include

usingnamespacestd;

template

stringnum2str(consttval)intmain()

9楼:小志

去查ascii表,比如数字6,加上48,转换成char就是'6'

inta=6;

charaa=a+48;

printf("%c\n\n",aa);

10楼:踏雪也寻梅

你需要重载操作符"<<"

在c++中如何才能使一个整数转化为字符串

11楼:匿名用户

给你个例子吧:把952(int型)转化为char字符:

#include "stdafx.h" //11.0编译器需要 其它不用

#include

#include "stdlib.h"

using namespace std;

int main()

c语言中怎么将数字变量转换成字符变量?

12楼:匿名用户

int i = 10;

char a[10];

char b = itoa(i,&a,10);//这边标c里面有没有返回值的我忘了,如果没有返回值的

话,a[10]直接就是你要的结果了,自己试试吧,参数肯定对的//楼上的扯淡,强转都比你这个靠谱

13楼:匿名用户

强制转换

int a;

char(a);

14楼:匿名用户

int n = 40;

char a = n;

c++,怎么把字符转换成数字

15楼:gold橙汁

一、可以用c++的stringstream。 主要原因是操作简单。

数字转字符串,int float类型 同理

字符串转数字,int float类型 同理

二、使用sprintf()函数

char str[10];

int a=1234321;

sprintf(str,”%d”,a);

char str[10];

double a=123.321;

sprintf(str,”%.3lf”,a);

char str[10];

int a=175;

sprintf(str,”%x”,a);//10进制转换成16进制,如果输出大写的字母是sprintf(str,”%x”,a)

charitoa(int value, charstring, int radix);

同样也可以将数字转字符串,不过itoa()这个函数是平台相关的(不是标准里的)。

三、使用sscanf()函数

char str=”1234321”;

int a;

sscanf(str,”%d”,&a);

………….

char str=”123.321”;

double a;

sscanf(str,”%lf”,&a);

………….

char str=”af”;

int a;

sscanf(str,”%x”,&a); //16进制转换成10进制。

另外也可以使用atoi(),atol(),atof()。

拓展资料:

以进行以继承和多态为特点的面向对象的程序设计。c++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而c++就适应的问题规模而论,大小由之。

c++不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。

16楼:寒心碧

1、可以用atoi函数。

例:char a='7';

int num=atoi(a);

2、如果是很多数字,字符串形式的话按下列方式转成int型。

例:strings="1234";

inti=integer.parseint(s);

拓展资料

c++对c的“增强”,表现在六个方面:

(1) 类型检查更为严格。

(2) 增加了面向对象的机制。

(3)增加了泛型编程的机制(template)。

(4)增加了异常处理。

(5)增加了运算符重载。

(6)增加了标准模板库(stl)。

面向对象程序设计,是针对开发较大规模的程序而提出来的,目的是提高软件开发的效率。不要把面向对象和面向过程对立起来,面向对象和面向过程不是矛盾的,而是各有用途、互为补充的。

学习c++,既要会利用c++进行面向过程的结构化程序设计,也要会利用c++进行面向对象的程序设计,更要会利用模板进行泛型编程。

17楼:静物描写

标准库中定义了to_string(val);可以将其它类型转换为string。还定义了一组stoi(s,p,b)、stol(s,p,b)、stod(s,p,b)等转换函数,可以函数,可以分别转化成int、long、double等.

stoi(s,p,b);stol(s,p,b);stoul(s,p,b);stoll(s,p,b);stoull(s,p,b); 返回s的起始子串(表示整数内容的字符串)的数值,返回值的类型分别为:int、long、unsigned long、long long、unsigned long long.

其中b表示转换所用的基数,默认为10(表示十进制).p是size_t的指针,用来保存s中第一个非数值字符的下标,p默认为0,即函数不返 回下标.

stof(s, p); stod(s, p); stold(s, p); 返回s的起始子串(表示浮点数内容)的数值,返回值的类型分别是float、double、long double.参数p的作用与整数转换函数中的一样。

c++中,什么是将数字字符串转换成整数

1楼 匿名用户 整数指的是int long等,字符串是string。 比如int a 1 和string str 1 虽然你最后输出在屏幕上是一样的,都是1,但是在内存中的存储的asc2号码并不一样。要想转换的话,其实也简单, 就是当前字符减去 0 就行了 2楼 匿名用户 整数比如说1 2 3 4 ...