• ftoa浮法成字符串


    #include <stdio.h>


    bool ftos(float num,char *s,int n)
    {
        int temp;
    float t=num;
    int pn=0;
    bool flag_s=true;
    bool flag_z=false;


    for(int i=n;i>0;i--)
       t=t*10;
    printf("%f ",t);
        temp=t;
    printf("%d ",temp);
    if(temp<0)
    {
      temp=-temp;
      t=-num;
      flag_s=false;
    }
    if(temp==0)
    {
           
      if(n>0)
      {
         for( pn=0;pn<n;pn++)
     {
        *(s+pn)='0';
     }
     *(s+pn)='.';
     ++pn;
      }
      *(s+pn)='0';
      ++pn;
      if(!flag_s){
     
      *(s+pn)='-';
       ++pn;
      }
      *(s+pn)='';


      
    }
    else
    {
    while(temp>0)
    {
      if(pn==n && n>0)
      {
         
     *(s+pn)='.';
     ++pn;
      }
      else{
        *(s+pn)=(temp%10)+'0';
    temp=temp/10;
    ++pn;
      }
    }
    while(pn<n)
    {
       *(s+pn)='0';
      ++pn;
    }
    if(pn==n)
      {
         
     *(s+pn)='.';
     ++pn;
     if(flag_s){
       *(s+pn)='0';
        ++pn;
     }
      }
        if(!flag_s){
    if(t<1.0){
     *(s+pn)='.';
     ++pn;
     *(s+pn)='0';
      ++pn;
    }
      *(s+pn)='-';
      ++pn;
      }
    *(s+pn)='';
    }
    int i(0),j(pn-1);
    while(i<j)
    {
       int temp=*(s+i);
            *(s+i)=*(s+j);
    *(s+j)=temp;
    ++i;
    j--;
    }


      return true;
    }


    int main()
    {
      char s[20];
      float num=123.456;
      int n=3;
      scanf("%f",&num);
      scanf("%d",&n);
      printf("float num is %f ",num);
      if(ftos(num,s,n))
      {
        printf("after convert is %s ",s);
      }
      return 0;
    }
  • 相关阅读:
    MapReduce原理
    《软件需求十步走》阅读笔记3
    《软件需求十步走》阅读笔记2
    《软件需求十步走》阅读笔记1
    2017秋季阅读计划
    怎么做需求分析
    兴趣小组第一次
    第十天
    第九天
    对UC的分析(个人观点,多多包涵)
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4592167.html
Copyright © 2020-2023  润新知