C语言中如何将字符串转换成float和double类型

C语言中如何将字符串转换成float和double类型

先贴上可编译运行的源代码:

file: a.cpp

#include <stdio.h>

#include <stdlib.h>
 int main ()
 {
        char szOrbits[] ="365.24";
        char* pEnd;
        float f1;
        f1 = strtof (szOrbits, &pEnd);
        printf("%f\n",f1);
        return 0;
 }

执行结果:

[tuxedo@imorcl yali_test]$ g++ a.cpp -o aaa
[tuxedo@imorcl yali_test]$ ./aaa
365.239990

man参考手册:在linux上 man strtod就能显示

NAME
      strtod, strtof, strtold - convert ASCII string to floating point number

SYNOPSIS
      #include <stdlib.h>

double strtod(const char *nptr, char **endptr);

#define _XOPEN_SOURCE=600  /* or #define _ISOC99_SOURCE */
      #include <stdlib.h>

float strtof(const char *nptr, char **endptr);
      long double strtold(const char *nptr, char **endptr);

DESCRIPTION
      The  strtod(),  strtof(),  and  strtold() functions convert the initial portion of the string pointed to by nptr to double, float, and
      long double representation, respectively.

。。。

推荐阅读

C++ 隐式类类型转化 Implicit Class-Type Conversions

C语言变长数组之剖析

C语言需要注意的问题

C语言位域的使用及其注意点

C语言中简单的for循环和浮点型变量

《C语言从入门到精通》.(王娣,韩旭 ).[PDF] + DVD视频光盘文件

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/d2363caf9a9902821f75d54a0140e5a6.html