background image

     main()
     {
     double a="123".45;
     double b="-1234".56;
     char *ptr;
     int decpt,sign;
     gcvt(a,5,ptr);
     printf(“a value=%s\n”,ptr);
     ptr="gcvt"(b,6,ptr);
     printf(“b value=%s\n”,ptr);
     }
  

 

执行 a value="123".45

     b value="-1234".56
     strtod(将字符串转换成浮点数)

 

相关函数 atoi,atol,strtod,strtol,strtoul

 

表头文件 #include<stdlib.h>

 

定义函数 double strtod(const char *nptr,char **endptr);

 

函数说明 strtod()会扫描参数 nptr 字符串,跳过前面的空格字符,直到遇上
     数字或正负符号才开始做转换,到出现非数字或字符串结束时
     ('\0')才结束转换,并将结果返回。若 endptr 不为 NULL,则会将遇
     到不合条件而终止的 nptr 中的字符指针由 endptr 传回。参数 nptr 字
     符串可包含正负号、小数点或 E(e)来表示指数部分。如 123.456 或
     123e-2。
 

 

返回值 返回转换后的浮点型数。

 

附加说明 参考 atof()。
  

 

范例 /*将字符串 a,b,c 分别采用 10,2,16 进制转换成数字*/

     #include<stdlib.h>
     mian()
     {
     char a[]=”1000000000”;
     char b[]=”1000000000”;
     char c[]=”ffff”;
     printf(“a=%d\n”,strtod(a,NULL,10));
     printf(“b=%d\n”,strtod(b,NULL,2));
     printf(“c=%d\n”,strtod(c,NULL,16));
     }
  

 

执行 a="1000000000"

     b="512"
     c="65535"
     strtol(将字符串转换成长整型数)

 

相关函数 atof,atoi,atol,strtod,strtoul

 

表头文件 #include<stdlib.h>

 

定义函数 long int strtol(const char *nptr,char **endptr,int base);

 

函数说明 strtol()会将参数 nptr 字符串根据参数 base 来转换成长整型数。参