dzrs.net
当前位置:首页 >> int型转换为ChAr >>

int型转换为ChAr

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 // 方法一:

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

在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(); }

int 型 可以 强制转换为 char型.char型 实际上就是整型,只不过是 1字节长度的整型.char型由于只有 1字节长度,所以能表示的是数值 范围比 int 型 小.int 型 和 char型 之间 实际上 可以直接 相互 赋值.可以省去 (char) 或 (int).char 赋给 int 没问题.int 赋给 char, 当 int 型 数值 超出 char型 允许范围 时,int 赋给char 高位会丢失.

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

1、可以转换,强制转换就行.例如:int a=100;unsigned char * c = (unsigned char *)a;2、强制类型转换当操作数的类型不同,而且不属于基本数据类型时,经常需要强制类型转换,将操作数转化为所需要的类型.强制类型转换具有两种形式,

内容为数字的char,包含0,1,2,3,4,5,6,7,8,9 共计10个字符.这十个字符在存为字符型时,其存储值为对应的ascii码,而这些ascii码是连续的,且按照其本身数字的大小来排列.这样就可以将字符值,减去起始ascii码值实现转为对应值的效果.设 int a; //转换的目标变量.char c = '7'; //要转换的字符.c = a - '0'; 这样得到的就是对应的值了,即c = 7.如果在文件中需要多次该操作,则可以定义一个带参宏,如下:#define chartonumber(x) (x-'0') 这样只需要调用 c = chartonumber(a); 即可实现效果.

很麻烦,int转char实际是转成ascll码,int的数据可以是个位数,也可以是更大的数,如果是个位数,可以用编译器自带的函数变成char(例如C#是Convert.ToChar(1) 得到是 1' ' ),要是大于9的int数,直接转会报错,例如1000就需要很麻烦的步骤:可以将这个数值按照某种公式缩小到ASCll码的范围内,这样可以得到一个字符,然后用这个字符当做替代,还原的时候就再逆带一遍公式.

按位取出,然后把每一位的数字转化成字符放入字符数组中啊.说下思路吧:将整数按位取出,方法是循环取余:int aInt = 10000;char arr[5] = {0};int i = 0;while(aInt > 0){arr[4-i] = aInt % 10 + '0'; aInt /= 10;i++;}这就可以了,我这些代码是没有扩展性的,只是给你提一下思路,也不建议这么写代码,但是你看懂了上面这些代码也就能知道怎么做了.

一般可以进行强行转换 int i = 0xffff004b; char b = (char)i;由于int为4个字节,char为2个字节,强行转换可能会丢失2个高位字节的数据,要注意.

网站首页 | 网站地图
All rights reserved Powered by www.dzrs.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com