如何将数字转化为字符串
2013-05-02 15:44
274 查看
#include <stdlib.h>
#include <stdio.h>
void itoa(unsigned long val,char *buf,unsigned radix)
{
char *p; ////// 转换后字符串指针
char *firstdig; ///////// 指针指向第一个数字
char temp; /////////// 临时字符
unsigned digval; //////////// 数字的值
p = buf;
firstdig = p; //////// 保存指向第一个数字指针
do {
digval = (unsigned)(val%radix);
val /= radix; ///////// 得到下一个数字
/********转换成ASCII码,然后保存
if (digval > 9)
*p++ = (char)(digval-10+'a'); ////////////字母
else
*p++ = (char)(digval+'0'); //////////// 数字
} while (val > 0);
/**************我们在buffer里存储了数字,但是是反转顺序 *************/
*p-- = '\0'; /////////////// terminate string; p points to last digit
do {
temp = *p;
*p = *firstdig;
*firstdig = temp; //////////// swap *p and *firstdig
--p;
++firstdig; ////////// advance to next two digits
} while (firstdig < p); ////////////// repeat until halfway
}
int main(void)
{
int number = 0x123a5;
char string[25];
itoa(number,string, 16);
printf("integer = %d string = %s\n", number, string);
return 0;
}
#include <stdio.h>
void itoa(unsigned long val,char *buf,unsigned radix)
{
char *p; ////// 转换后字符串指针
char *firstdig; ///////// 指针指向第一个数字
char temp; /////////// 临时字符
unsigned digval; //////////// 数字的值
p = buf;
firstdig = p; //////// 保存指向第一个数字指针
do {
digval = (unsigned)(val%radix);
val /= radix; ///////// 得到下一个数字
/********转换成ASCII码,然后保存
if (digval > 9)
*p++ = (char)(digval-10+'a'); ////////////字母
else
*p++ = (char)(digval+'0'); //////////// 数字
} while (val > 0);
/**************我们在buffer里存储了数字,但是是反转顺序 *************/
*p-- = '\0'; /////////////// terminate string; p points to last digit
do {
temp = *p;
*p = *firstdig;
*firstdig = temp; //////////// swap *p and *firstdig
--p;
++firstdig; ////////// advance to next two digits
} while (firstdig < p); ////////////// repeat until halfway
}
int main(void)
{
int number = 0x123a5;
char string[25];
itoa(number,string, 16);
printf("integer = %d string = %s\n", number, string);
return 0;
}
相关文章推荐
- 如何将JAVA中的字符串转化成数字
- 【短篇】Python下如何把带有千位分隔符的浮点数字符串形式转化为数字
- C++ 如何把C风格字符串转化为数字
- VC 中的IP地址控件,关联一个DWORD的变量dwValue,如何将这个dwValue按IP地址显示转化成4个数字或者字符串?
- Java数字字符串如何转化为数字数组
- 程序题——字符串转化成为数字
- 如何将阿拉伯数字每三位一逗号分隔,如:15000000转化为15,000,000
- ios 字符串和数字互相转化
- js将数字转化为带有千分号的字符串
- 开源polarssl加密库使用详解之一:十六进制字符串转化为十六进制数字
- java中如何判断一个字符串中含有字母或数字
- c#枚举转化示例大全,数字或字符串转枚举
- c#去html标志,对字符串保留数字小数点,有中文的日期转化等特殊数据处理
- JSON字符串如何转化成对象?
- 大的字符串的中数据转化为数字,字符数值的提取转化,atoi();
- obj-c中字符串和数字互相转化
- 如何把SQL SERVER中一个含有数字的字符串找出来?
- c/c++ 数字和字符串之间的转化
- C语言 字符串转化为数字
- 关于字符串转化为数字的深度优化两种算法