300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 整型转换成字符串

整型转换成字符串

时间:2020-05-31 16:35:13

相关推荐

整型转换成字符串

本文转载自:/mnorst/article/details/6622293

1,使用c语言函数

将整形数value转换为其等价的字符串

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

Parameters(参数说明)

第一个参数:value Number to be converted(将要被转换的值)

第二个参数:string String result(转换的结果)

第三个参数:radix Base of value; must be in the range 2 – 36(转换的基数,取值范围2-36。例如 radix=10表示10进制,radix=8表示8进制。)

返回值:与string参数相同,便于函数的嵌套调用

头文件 stdlib.h

举例说明:

[cpp]view plaincopy#include<stdlib.h> #include<stdio.h> intmain() { intnumber=123456; charstring[25]; itoa(number,string,10); printf("integer=%dstring=%s\n",number,string); return0; }

2, 使用CString格式化字符串

函数原型:void CString::Format( UINTnFormatID, [,argument]...);

使用方法同printf

举例说明:

[cpp]view plaincopyintnum=2; CStringstr; str.Format("a=%d",a);

3,使用sprintf格式化字符

函数原型:intsprintf(char*buffer,constchar*format[,argument] ...);

举例说明:

[cpp]view plaincopycharbuffer[10]; intnum=3; sprintf(buffer,"size=%d",num);4,不适用库函数

[cpp]view plaincopy/*整数转化成字符串*/ char*IntToStr(intnum,charstr[]) { inti=0,j=0; chartemp[100]; while(num) { temp[i]=num%10+'0';//取模运算得到从后往前的每一个数字变成字符 num=num/10; i++; } temp[i]=0;//字符串结束标志 i=i-1;//回到temp最后一个有意义的数字 while(i>=0) { str[j]=temp[i]; i--; j++; } str[j]=0;//字符串结束标志 returnstr; } /*字符串转换为整数,仅考虑十进制,不考虑非法字符*/ intStrToInt(char*str) { intvalue=0; intsign=1; assert(str!=NULL); if(*str=='-') { sign=-1; str++; }elseif(*str=='+') { str++; } while(*str) { value=value*10+(*str-'0'); str++; } returnsign*value; } /*字符串转换整数,考虑16进制,10进制,8进制,不考虑其他非法字符*/ intStrToIntAll(char*str) { intvalue=0; intsign=1; intradix; assert(str!=NULL); if(*str=='-') { sign=-1; str++; } elseif(*str=='+') { str++; } //考虑不同的进制 if(*str=='0'&&(*(str+1)=='X'||*(str+1)=='x')) { radix=16; str+=2; }elseif(*str=='0') { radix=8; str++; }else { radix=10; } while(*str) { if(radix==16) { if(*str>='0'&&*str<='9') { value=value*radix+(*str-'0'); }else { value=value*radix+(*str-'a'+10); } }else { value=value*radix+(*str-'0'); } str++; } returnsign*value; }

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。