我有
int i = 6;
Run Code Online (Sandbox Code Playgroud)
而且我要
char c = '6'
Run Code Online (Sandbox Code Playgroud)
通过转换.有什么简单的建议吗?
编辑: 我还需要生成一个随机数,并转换为一个字符,然后添加一个'.txt'并在ifstream中访问它.
Eug*_*its 274
直截了当的方式:
char digits[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
char aChar = digits[i];
Run Code Online (Sandbox Code Playgroud)
更安全的方式:
char aChar = '0' + i;
Run Code Online (Sandbox Code Playgroud)
通用方式:
itoa(i, ...)
Run Code Online (Sandbox Code Playgroud)
方便的方式:
sprintf(myString, "%d", i)
Run Code Online (Sandbox Code Playgroud)
C++方式:(摘自Dave18答案)
std::ostringstream oss;
oss << 6;
Run Code Online (Sandbox Code Playgroud)
老板的方式:
乔,给我写了一个int到char转换器
Studboss方式:
char aChar ='6';
乔的方式:
char aChar ='6'; // int i = 6;
美国宇航局的方式:
//等待卫星回复......
外星人的方式:'9'
//问候.
上帝的方式:
布鲁赫我建造了这个
彼得潘的方式:
char aChar;
switch (i)
{
case 0:
aChar = '0';
break;
case 1:
aChar = '1';
break;
case 2:
aChar = '2';
break;
case 3:
aChar = '3';
break;
case 4:
aChar = '4';
break;
case 5:
aChar = '5';
break;
case 6:
aChar = '6';
break;
case 7:
aChar = '7';
break;
case 8:
aChar = '8';
break;
case 9:
aChar = '9';
break;
default:
aChar = '?';
break;
}
Run Code Online (Sandbox Code Playgroud)
圣诞老人的方式:
//Wait till Christmas!
sleep(457347347);
Run Code Online (Sandbox Code Playgroud)
重力的方式:
//什么
'6'(泽西岛)Mikes''方式:
//
所以方式:
伙计们,我如何避免阅读初学者的C++指南?
我的方式:
或者高速公路.
评论:我添加了Handy方式和C++方式(有完整的集合),我将其保存为维基.
编辑:满意吗?
abe*_*nky 24
这只适用于0位数的int数字,但你的问题似乎表明这可能就足够了.
它的工作原理是将char的ASCII值添加'0'
到整数位.
int i=6;
char c = '0'+i; // now c is '6'
Run Code Online (Sandbox Code Playgroud)
例如:
'0'+0 = '0'
'0'+1 = '1'
'0'+2 = '2'
'0'+3 = '3'
Run Code Online (Sandbox Code Playgroud)
编辑
目前还不清楚你的意思,"为字母表工作"?如果你想要字母的第5个字母:
int i=5;
char c = 'A'-1 + i; // c is now 'E', the 5th letter.
Run Code Online (Sandbox Code Playgroud)
请注意,因为在C/Ascii中,A被认为是字母表的第0个字母,所以我做了减1来补偿第5个字母的通常理解含义.
根据您的具体情况进行适当调整.
(和测试测试!你写的任何代码)
Nat*_* S. 10
仅供参考,如果您想要多于一位数的数字,您可以使用sprintf:
char txt[16];
int myNum = 20;
sprintf(txt, "%d", myNum);
Run Code Online (Sandbox Code Playgroud)
然后第一个数字位于txt [0]的char中,依此类推.
(这是C方法,而不是C++方法.C++方式是使用字符串流.)
小智 5
这就是我将数字转换为 ASCII 代码的方法。0到9的十六进制代码是0x30-0x39。6 就是 0x36。
unsigned int temp = 6;
or you can use unsigned char temp = 6;
unsigned char num;
num = 0x30| temp;
Run Code Online (Sandbox Code Playgroud)
这将为您提供 6 的 ASCII 值。您对 0 - 9 执行相同的操作
为了将 ASCII 转换为数值,我想出了这段代码。
unsigned char num,code;
code = 0x39; // ASCII Code for 9 in Hex
num = 0&0F & code;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
294991 次 |
最近记录: |