zoukankan      html  css  js  c++  java
  • C语言atof()函数:将字符串转换为double(双精度浮点数)

    头文件:#include <stdlib.h>

    函数 atof() 用于将字符串转换为双精度浮点数(double),其原型为:
    double atof (const char* str);

    atof() 的名字来源于 ascii to floating point numbers 的缩写,它会扫描参数str字符串,跳过前面的空白字符(例如空格,tab缩进等,可以通过 isspace() 函数来检测),直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('')才结束转换,并将结果返回。参数str 字符串可包含正负号、小数点或E(e)来表示指数部分,如123. 456 或123e-2。

    【返回值】返回转换后的浮点数;如果字符串 str 不能被转换为 double,那么返回 0.0。

    温馨提示:ANSI C 规范定义了 stof()atoi()atol()strtod()strtol()strtoul() 共6个可以将字符串转换为数字的函数,大家可以对比学习;使用 atof() 与使用 strtod(str, NULL) 结果相同。另外在 C99 / C++11 规范中又新增了5个函数,分别是 atoll()、strtof()、strtold()、strtoll()、strtoull(),在此不做介绍,请大家自行学习。

    范例:
    #include <stdio.h>
    #include <stdlib.h>
    int main(){
        char *a = "-100.23",
             *b = "200e-2",
             *c = "341",
             *d = "100.34cyuyan",
             *e = "cyuyan";
    
        printf("a = %.2f
    ", atof(a));
        printf("b = %.2f
    ", atof(b));
        printf("c = %.2f
    ", atof(c));
        printf("d = %.2f
    ", atof(d));
        printf("e = %.2f
    ", atof(e));
    
        system("pause");
        return 0;
    }
    执行结果:
    a = -100.23
    b = 2.00
    c = 341.00
    d = 100.34
    e = 0.00
  • 相关阅读:
    React项目(垃圾分类后台管理)
    React 学习笔记
    xml学习
    .NET Core部署Windows服务
    .NET 生成PDF流
    无线数传电台是什么
    电流电压采集模块如何进行数据传输的
    Spring5快乐教程(十)AspectJ注解实现AOP
    Spring5快乐教程(九)注解编程详解
    Spring5快乐教程(八)注解编程详解
  • 原文地址:https://www.cnblogs.com/qiuchangyong/p/5323349.html
Copyright © 2011-2022 走看看