C语言atof()函数:将字符串转换为double(双精度浮点数)

头文件:#include <stdlib.h>

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

atof() 的名字来源于 ascii to floating point numbers 的缩写,它会扫描参数str字符串,跳过前面的空白字符(例如空格,tab缩进等,可以通过 isspace() 函数来检测),直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时(‘\0‘)才结束转换,并将结果返回。参数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\n", atof(a));
    printf("b = %.2f\n", atof(b));
    printf("c = %.2f\n", atof(c));
    printf("d = %.2f\n", atof(d));
    printf("e = %.2f\n", atof(e));

    system("pause");
    return 0;
}

执行结果:
a = -100.23
b = 2.00
c = 341.00
d = 100.34
e = 0.00

时间: 2024-10-27 16:53:33

C语言atof()函数:将字符串转换为double(双精度浮点数)的相关文章

把字符串转换为Double 类型

//把字符串转换为Double 类型    public Double convertStringToDouble(String value){                      Double doubleValue = new Double("0.00");           if(value != null && !"".equals(value))              doubleValue = new Double(value

C语言strrev()函数:字符串逆置(倒序、逆序)

头文件:#include<string.h> strrev()函数将字符串逆置,其原型为:    char *strrev(char *str); [参数说明]str为要逆置的字符串. strrev()将str所指的字符串逆置. [返回值]返回指向逆置后的字符串的指针. strrev()不会生成新字符串,而是修改原有字符串.因此它只能逆置字符数组,而不能逆置字符串指针指向的字符串,因为字符串指针指向的是字符串常量,常量不能被修改. [函数示例]看看strrev()是否改变原有字符串. #inc

UVA 465- Overflow(借助atof函数将字符串改为double型)

Overflow Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit Status Description  Overflow  Write a program that reads an expression consisting of two non-negative integer and an operator. Determine if either integer or the r

C语言之函数和字符串

二.函数: 2.1.函数的执行: 1.当我们每次进入一个函数的时候,原函数的栈底进行一个备份,之后将当前函数的栈底和栈顶指针分作同一个. 2.此时我们就可以说产生了一个新栈,产生新栈之后会在新栈中申请一段空间(栈帧),申请到空间之后. 3.再将需要备份的一些寄存器压到栈中. 4.之后将栈中的这些空间进行初始化为:0xCCCCCCCC. 5.到这里就已经做好了函数中所有的临时变量空间的分配. 6.之后就可以直接使用这些变量了. 三.字符串: 3.1.字符串处理函数: 3.1.1.strchr:返回

C语言strtok()函数:字符串分割

头文件:#include <string.h> 定义函数:char * strtok(char *s, const char *delim); 函数说明:strtok()用来将字符串分割成一个个片段.参数s 指向欲分割的字符串,参数delim 则为分割字符串,当strtok()在参数s 的字符串中发现到参数delim 的分割字符时则会将该字符改为\0 字符.在第一次调用时,strtok()必需给予参数s 字符串,往后的调用则将参数s 设置成NULL.每次调用成功则返回下一个分割后的字符串指针.

c语言实现,将一个字符串转换为对应的整数

#include<stdio.h> #define M 10 int my_atoi(char s[]) {      int num=0;      int i=0;      while((s[i]=getchar())!='\n')      {           if(s[i]>='0'&&s[i]<='9')                num=(num*10)+(s[i]-'0');           i++;      }      if(s[0

字符串常用-----atof()函数,atoi()函数

头文件:#include <stdlib.h> 函数 atof() 用于将字符串转换为双精度浮点数(double),其原型为:double atof (const char* str); atof() 的名字来源于 ascii to floating point numbers 的缩写,它会扫描参数str字符串,跳过前面的空白字符(例如空格,tab缩进等,可以通过 isspace() 函数来检测),直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果

C语言中将字符串转换为数字的方法

C语言提供了几个标准库函数,可以将字符串转换为任意类型(整型.长整型.浮点型等)的数字.以下是用atoi()函数将字符串转换为整数的一个例子: # include <stdio. h># include <stdlib. h>void main (void) ;void main (void){    int num;    char * str = "100";    num = atoi(str);    printf("The string 's

【整理】C语言中常见的字符串操作函数

需求开发中经常会用到很字符串操作的函数,现整理常用函数如下: 函数名: strcpy 功  能: 拷贝一个字符串到另一个 用  法: char *strcpy(char *destin, char *source); 示例如下: <span style="font-size:24px;">#include <stdio.h> #include <string.h> int main() { char desstr[10]; char *srcstr