zoukankan      html  css  js  c++  java
  • atof和atoi

    atof:将字串转换成浮点型数

    表头文件 #include <stdlib.h>

    函数说明 atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('')才结束转换,并将结果返回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分,如123.456或123e-2。
    返回值 返回转换后的浮点型数。
    附加说明 atof()与使用strtod(nptr,(char**)NULL)结果相同。
    范例 /* 将字符串a 与字符串b转换成数字后相加*/
     
     1 #include<stdlib.h>
     2 int main()
     3 {
     4 char*a="-100.23";
     5 char*b="200e-2";
     6 doublec;
     7 c=atof(a)+atof(b);
     8 printf(“c=%.2lf
    ”,c);
     9 return 0;
    10 }
     
    执行 c=-98.23
     
     
     
    atoi:atoi (表示 ascii to integer)是把字符串转换成整型数的一个函数
     
    头文件 #include <stdlib.h>
     
    atoi( ) 函数会扫描参数 nptr字符串,跳过前面的空白字符(例如空格,tab缩进等,可以通过isspace( )函数来检测),直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('')才结束转换,并将结果返回。如果 nptr不能转换成 int 或者 nptr为空字符串,那么将返回 0
     
     1 //vs2013里调用printf函数请使用预处理命令#define _CRT_SECURE_NO_WARNINGS
     2 #include <stdlib.h>
     3 #include <stdio.h>
     4  
     5 int main(void)
     6 {
     7     int n;
     8     char *str = "12345.67";
     9     n = atoi(str);
    10     printf("n=%d
    ",n);
    11     return 0;
    12 }
    输出:
    n = 12345
     
     
     
    与此相关的还有:
     
    atol:把字符串转换成长整型数
     1 #include <stdlib.h>
     2 #include <stdio.h>
     3 int main(void)
     4 {
     5     long l;
     6     char *str = "98765432";
     7     l = atol(str); /* 原来为l = atol(str); */
     8     printf("string = %s integer = %ld
    ", str, l);
     9     return(0);
    10 }

    执行 string=98765432 integer=98765432

    strtoul:将字符串转换成无符号长整型数

    strtoul()会将参数nptr字符串根据参数base来转换成无符号的长整型数。参数base范围从2至36,或0。参数base代表采用的进制方式,如base值为10则采用10进制,若base值为16则采用16进制数等。当base值为0时会根据情况选择用哪种进制:如果第一个字符是'0',就判断第二字符如果是‘x’则用16进制,否则用8进制;第一个字符不是‘0’,则用10进制。一开始strtoul()会扫描参数nptr字符串,跳过前面的空格字符串,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时('')结束转换,并将结果返回。若参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr返回。

    例子:将十六进制 0xFF,转换成 10进制,得到 255

     1 #include<stdio.h>
     2 #include<stdlib.h>
     3 int main()
     4 {
     5     int a;
     6     char pNum[]="0xFF";
     7     a=strtoul(pNum,0,0);//最后的0,表示自动识别pNum是几进制
     8     printf("%ul
    ",a);
     9     return 0;
    10 }

    输出:255

    strtol:将参数nptr字符串根据参数base来转换成长整型数。

    strtod:将字符串转换成浮点数。

     
  • 相关阅读:
    python中可变类型和不可变类型
    python PEP8开发规范
    pandas之——Series常用总结
    python os 模块的使用
    Markdown语法
    HttpClient连接池抛出大量ConnectionPoolTimeoutException: Timeout waiting for connection异常排查
    MySQL union all排序问题
    mysql解决datetime与timestamp精确到毫秒的问题
    keepalived + nginx实现高可用
    配置文件keepalived.conf详解
  • 原文地址:https://www.cnblogs.com/Kiven5197/p/6430684.html
Copyright © 2011-2022 走看看