将浮点型数据转换为字符串

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
n=dotsize;
while(i_afterdot>Leabharlann Baidu|n>0)
{
n--;
str[iSize++]=i_afterdot%10+'0';//对10取余并变为ASCII码
i_afterdot=i_afterdot/10;//对10取商
}
str[iSize++] ='.';//加上小数点//处理小数点前为0的情况。
if(i_predot==0) str[iSize++]='0'; //再将小数点前的数转换为字符串
while(i_predot>0)
{
str[iSize++]=i_predot%10+'0';//对10取余并变为ASCII码
i_predot=i_predot/10;//对10取商
}
if(isnegative==1) str[iSize++]='-';//如果是负数,则在最后加上负号
str[iSize] ='\0';//加上字符串结束标志
p=str+iSize-1;//将P指针指向字符串结束标志之前
for(;p-s>0;p--,s++)//将字符串中存储的数调头
{
*s^=*p;
*p^=*s;
*s^=*p;
}
//返回指针字符串大小return iSize;
} //==============================End
float f_afterdot;//实数型的小数部分
//判断是否为负数
if(fNum<0)
{ isnegative=1;//设置负数标志
fNum=0-fNum;//将负数变为正数
}
i_predot=(unsigned long int)fNum;//将小数点之前的数变为整数
f_afterdot=fNum-i_predot;//单独取出小数点之后的数
//根据设定的要保存的小数点后的位数,将小数点后相应的位数变到小数点之前
for(n=dotsize;n>0;n--)
{
f_afterdot=f_afterdot*10;
}
i_afterdot=(unsigned long int)f_afterdot;//将小数点后相应位数的数字变为整数//先将小数点后的数转换为字符串
将浮点型数据转换为字符串
/*ftostr========================================= /*
//函数名:ftostr
//输入参数:fNum_待转换数字,str[]_存放字符串,dotsize_浮点小数后边位数
//描述:将浮点型数据转换为字符串
//返回值:字符串大小*/
int n=0;//用作循环的临时变量
char *p=str;//做换向时用的指针
char *s=str;//做换向时用的指针
char isnegative=0;//负数标志
unsigned long int i_predot;//小数点前的数
unsigned long int i_afterdot;//小数点后的数
//===================================================================================
int ftostr(float fNum,char str[],int dotsize)
{ //定义变量
int iSize=0;//记录字符串长度的数
相关文档
最新文档