自己写的单片机内的浮点数转化为字符数组的函数--求大佬找错(部分代码如下)

 

void fnum_string()   //最大为8位有效数字的浮点数转化为字符数组
{
      u16 z;
         u8 i;
     write_com(0x80+0x40);   
  
     if(v>=0&&v<10)      
     {
     arr[1]='.';              
     z=(int)(v*1000000);      
     }
     
     else if(v>=10&&v<100)     
     {
     arr[2]='.';
     z=(int)(v*100000);     
     }     
     
     else if(v>=100&&v<1000)     
     {
     arr[3]='.';                  
     z=(int)(v*10000);
     }
     
     else if(v>=1000&&v<10000)     
     {
     arr[4]='.';            
     z=(int)(v*1000);
     }
     
     while(z!=0)               
     {
        if(arr[7-i]!='.')        
         {
              arr[7-i]=z%10+'0';    
                z/=10;
         }
         i++;
     }
     
            
}