www.3112.net > 怎么把int型转化为ChAr型

怎么把int型转化为ChAr型

int n,x,t=0,w;//n为输入的数值,其他为临时变量 cin>>n; x=n; while(n>10)//计算n是几位数,比如231是3位数 { n/=10; t++; } t++; char* c=new char[t+1];//申请空间,如果你的编译器不支持垃圾回收,请delete它 c[t]=\'\\0\';//字符串的结尾,阻止溢出 while(x>10)//循环计算 { c[t-1]=x%10+0x30;//加上char在ascii的偏移 x/=10; t--; } t--;//最后在字符串头输入字符串最高位 c[t]=x+0x30;//所以这行的t改成0也可以 cout<<c;

public class Int2CharDemo { public static void main(String[] args) { // 将int类型数字8转换为char类型数字8 int num1 = 8; char ch1 = (char) (num1 + 48); System.out.println("ch1 = " + ch1); // 将char类型数字8转换为int类型数字8 // 方法一:

假定int和char数组如下:int I[2]={1,2} char c[2]={1,2} 两者转换代码:int a[2] = {1, 2}; char c[2]; for( int i = 0; i Int是将一个数值向下取整为最接近的整数的函数,为取整函数.char是C/C++整型数据中比较古怪的一个,其它的如int/long/short等不指定signed/unsigned时都默认是signed,但char在标准中是unsigned,编译器可以实现为带符号的,也可以实现为不带符号的,有些编译器如pSOS的编译器,还可以通过编译开关来指定它是有符号数还是无符号数.

for(char i=0;ilin[i]=i; 如果需要显示的字符,用 _itoa 或者 lin[i]=i+'0';

先要保证int类型的数值只有一位数,比如 int i = 5; char a = (i+"").charAt(0);(i+"")会使i变成String类型,使用charAt(0)即取(i+"")的第一个字符.

你的问题可以有两个理解:理解一、你是想把int型的变量强制转换为char型的变量吗?很简单在变量前加强制转换运算符就可以了.例程:int a=1;char c=(char)a; //把a强制转换为char型赋给变量c理解二、你是想把1转换为字符'1'吧?在ASCII编码表中,字符'0'~'9'是顺序编码的,所以用相应的值加上字符'0'的编码,就是那个值的ASCII码了.例程:int a=1;char c=a+'0'; //c的值就是'1'的ASCII码值

有两种转换方法:一种是自动转换,如char c = 97,会自动的将int类型的96转换成char的'a' 另一种是强制类型转换,如int i = 97,char c = (char)i ,这样做了之后,char的值也是'a' 为什么是a呢?因为字符'a'对应的ascii值是97.自动转换一般是用于大的类型向小的类型转换,也叫窄化转换 强制类型转换一般是用于小的类型向大的类型转换,也叫扩展转换

必须强制转换int i = 97;char a = (char)i;System.out.println(a);

用强制类型转换:(类型名)表达式如int i; (char)i;

在stdlib.h中有个函数itoa(),可以实现这个功能,我把它贴出来吧:itoa的用法:itoa(i,num,10);i 需要转换成字符的数字num 转换后保存字符的变量10 转换数字的基数(进制)10就是说按照10进制转换数字.还可以是2,8,16等等你喜欢的进制类型原形:char *itoa(int value, char *string, int radix);再给个实例吧(我写的):#include "stdlib.h"#include "stdio.h" main(){ int i=1234; char s[5]; itoa(i,s,10); printf("%s",s); getchar();}

网站地图

All rights reserved Powered by www.3112.net

copyright ©right 2010-2021。
www.3112.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com