float mun;
unsigned char tab[10];
mun的小数点在任意位置,
要求将小数mun保存在字符串tab的末尾(当然tab[9]=’\0‘)
void DispFloatNum(unsigned long Num, unsigned char DotPos,unsigned char Len)
{
unsigned char j,i,n;
unsigned char vec[10] = {' ', ' ', ' ', ' ', ' ', ' ', ' ',' ', ' ', ' '};
i = 9;
vec[9] = '\0';//在数组最后加上字符串结束标志
//将数字转换十进制并转换为字符按次序存入数组
do
{
vec[--i] = (char)(Num%10 + '0');
Num /= 10;
}
while(Num);
vec[9-i]='.';
j=i;
while(DotPos);
{
n=DotPos;
for(;n>0;n--)
{
vec[--j]=vec[i++];
j=i;
}
vec[i++]='.';
}
Len = 9-Len;
DispStr(vec+Len-1);
}
数据处理部分求修改!
你小数点你都没存进去!
追答我只是说了小数点后边的数怎么分离出来,并不是你这题的具体程序,而且你的题目叙述的不清楚,编程都不知道怎么编