如果收到一个字符串型的浮点数,比如“1234.56”,如何变成浮点数。

double atof(chars[])

{

       double val,power;

       int i,sign;

 

       for(i=0;isspace(s[i]);i++)//跳过空白

                 ;

       sign=(s[i]=='-')?-1:1; //判断符号

       if(s[i]=='+'||s[i]=='-')

                 i++;

 

       for(val=0.0;isdigit(s[i]);i++)

                val=10.0*val+(s[i]-'0');  //此步骤也可用于求解“将一个字符串的整数变成整数”

 

       if(s[i]==".")

                i++;

 

       for(power=1.0;isdigit(s[i]);i++)

         {

              val=10.0*val+(s[i]-'0');

              power*=10.0;

       }

         returnsign*val/power;

}

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐