社区
C语言
帖子详情
使用标准C自己编写一个函数,怎么将数据转化为字符串。
JWhiteHorse
2002-03-18 02:34:01
要求函数的返回值为字符串,能识别正负。
...全文
39
18
打赏
收藏
使用标准C自己编写一个函数,怎么将数据转化为字符串。
要求函数的返回值为字符串,能识别正负。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
onlykiller
2002-03-18
打赏
举报
回复
混合体不是说了吗 itoa
wiler
2002-03-18
打赏
举报
回复
判别正负的如下:
char *ToString(double num)
{
char *str,*head;
double Decimal;
long Integer,m,n;
str=(char *)malloc(100);
head=str;
if(num<0){num=0.0-num;*(str++)='-';}
Decimal=num-(long)num;
Integer=(long)num;
if(Integer==0)
*(str++)='0';
while(Integer)
{
m=Integer/10;
n=Integer%10;
*(str++)=n+'0';
Integer=m;
}
if(Decimal>0)
{
*(str++)='.';
while(Decimal>0)
{
m=(long)Decimal*10;
Decimal=Decimal*10-m;
*(str++)=m+'0';
}
}
*str=NULL;
return head;
}
wiler
2002-03-18
打赏
举报
回复
char *ToString(double num)
{
char *str,*head;
double Decimal;
long Integer,m,n;
str=(char *)malloc(100);
head=str;
Decimal=num-(long)num;
Integer=(long)num;
if(Integer==0)
*(str++)='0';
while(Integer)
{
m=Integer/10;
n=Integer%10;
*(str++)=n+'0';
Integer=m;
}
if(Decimal>0)
{
*(str++)='.';
while(Decimal>0)
{
m=(long)Decimal*10;
Decimal=Decimal*10-m;
*(str++)=m+'0';
}
}
*str=NULL;
return head;
}
Cauty45
2002-03-18
打赏
举报
回复
向来一个int
int f( int n, char s[])
{
int p=0;
if (n<0){
s[p]='-';
p++;
n=-n;
}
if(n==0){
s[p++]='0';
s[p]='\0';
}
while(n>0){
s[p++]=n%10+'0';
n/=10;
}
s[p]='\0';
if(s[0]=='-'){
s++;
p--;
}
char c;
for(int i=0; i<p/2; i++){
c=s[i];
s[i]=s[p-i-1];
s[p-i-1]=c;
}
}
JWhiteHorse
2002-03-18
打赏
举报
回复
当然越全越好:)
Cauty45
2002-03-18
打赏
举报
回复
什么样的数字?
整数
浮点数(包括科学计数法吗)?
JWhiteHorse
2002-03-18
打赏
举报
回复
谁有好的方法,再加100分!
yeq
2002-03-18
打赏
举报
回复
如果是INT 型数据,根据 对应字符与数字ASCII码的差异转化。
在转化过程中,只要注意一点,在标准C中,字符与整型是通用的。
例如字符“1”的ASCII码是049,所以如果要把整型数据1转化为字符1
只需加48就行了。同样,数据2加48就变成了字符2
int a[9];
char ch[9]={123456123};
for (i=0;i<9;i++)
a[i]=ch[i]+48;
按照这样的方法,就把数字转化成字符了。
rockhard
2002-03-18
打赏
举报
回复
我以前在单片机编程时也遇到类似问题,当时是将整数与浮点分开考虑的处理的,代码不是很多,小数稍麻烦点,我先将它乘以1000,精确到小数点三位(一般的情况下够了),再调用整数到串的函数处理。如果想精确处理,得知道它具体的存储格式。具体可以查看相关资料。
prototype
2002-03-18
打赏
举报
回复
there is no portable way for writing such a function, because you have to know the underlying data structure for 'int', 'float', ..., which are mathine-dependent and not defined in standard c.
JWhiteHorse
2002-03-18
打赏
举报
回复
运用在单片机的编程中,没有提供以上函数。
自己写了一个觉得方法很苯。
tigerfox
2002-03-18
打赏
举报
回复
itoa
prototype
2002-03-18
打赏
举报
回复
sigh, no one would like to do such a meaningless thing (unless it is a homework required by a BT teacher)...
prototype
2002-03-18
打赏
举报
回复
sigh, no one would like to do such a meaningless thing (unless it is a homework required by a BT teacher)...
JWhiteHorse
2002-03-18
打赏
举报
回复
看看谁的算法最快最好。
JWhiteHorse
2002-03-18
打赏
举报
回复
要求,自己编写的一个函数:)
prototype
2002-03-18
打赏
举报
回复
if the number is a floating number, use (example):
sprintf( buffer, "%f", 1.2345 );
anyway, the formatting rules for 'sprintf" are the same as those for 'printf'
prototype
2002-03-18
打赏
举报
回复
faint, this has been asked several times today.
use 'sprintf', a standard function:
i write an example (again):
#include<stdio.h>
...
char buffer[1024];
sprintf( buffer, "%d", 12345 ); // buffer becomes "12345".
《C语言基础》 之 第9章
字符串
课程内容:字符数组1、
字符串
越位的问题、指针变量的空间大小、
字符串
常量、
字符串
传参、printf格式化输出
字符串
、
字符串
的非格式化输出
函数
、
字符串
输入
函数
、strlen
函数
、strcpy
函数
和strncpy
函数
、strcmp
函数
和strncmp
函数
、strcat
函数
和strncat
函数
。
用C语言
编写
一个
将
字符串
转换为整数的
函数
首先,我们需要定义
一个
函数
,
函数
名为my_atoi,
函数
参数为
一个
指向字符数组的指针(也就是
一个
字符串
),返回值为整数类型。
函数
的实现思路是对输入的
字符串
进行逐个字符的扫描,将每个字符转换为对应的数字,并根据各个数字的位权加以累加得到最终结果。这个
函数
可以很方便地将一些需要处理数字的
字符串
转换为对应的整数,例如从文件中读取的字符数组或者从网络中接收到的
字符串
。在上述代码中,我们首先定义了
一个
变量result,用来存储最终的整数转换结果,另外定义了变量sign表示符号位,默认为正号。
使用
函数
将数字
转化
成
字符串
编写
函数
将整数k变换为
一个
字母串,规则如下:设0对应A,1对应B,......,25对应Z。从左向右考察k的各位数字,若连续两位对应上面一种变换,则直接换掉两位数字,否则一位数字换成对应的字母。变换结果存入res反馈给调用者。
函数
原型为:在主
函数
输入一些非负整数,最后输入-1代表结束,利用上面
函数
对每个数字变换后输出。示例输入:(数字间空一格)示例输出:(每个
字符串
后面空一格)M DJZ A。
C语言中将
字符串
转化
为数字的
函数
总结
atoX系列
函数
1、atoi
函数
所在库 原型:int atoi(const char *str); 形参:
一个
指向
字符串
的指针 返回值:这个
字符串
中的数字对应的 int 型数 功能:将从
字符串
的第
一个
位置开始,略去空白,将字符型数字
转化
为数值型数字,直到遇到第
一个
非数字型字符时停止。如果
字符串
中第
一个
元素不是数字,那么返回0。可以识别正负号。 例子: #include #in
C语言
69,382
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章