c语言字符串浮点
‘壹’ c语言中有没有把字符转型化为 浮点型的函数
C语言中将字符串转型化为浮点型数据的函数有:atof()
和
strtod()
头文件:
#include <stdlib.h>
函数原型:
double atof (const char* str);
【参数说明】str 为要转换的字符串。
【函数说明】atof() 函数会扫描参数str字符串,跳过前面的空白字符(例如空格,tab缩进等,可以通过 isspace() 函数来检测),直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。参数str 字符串可包含正负号、小数点或E(e)来表示指数部分,如123. 456 或123e-2。
【返回值】返回转换后的浮点数;如果字符串 str 不能被转换为 double,那么返回 0.0。
double strtod (const char* str, char** endptr);
【参数说明】str 为要转换的字山纤符串,endstr 为第一逗团仿个不能转换的字符的指针。
【函数说明】strtod() 函数或咐会扫描参数str字符串,跳过前面的空白字符(例如空格,tab缩进等,可以通过 isspace() 函数来检测),直到遇上数字或正负符号才开始做转换,到出现非数字或字符串结束时('\0')才结束转换,并将结果返回。参数 str 字符串可包含正负号、小数点或E(e)来表示指数部分。如123. 456 或123e-2。
若endptr 不为NULL,则会将遇到的不符合条件而终止的字符指针由 endptr 传回;若 endptr 为 NULL,则表示该参数无效,或不使用该参数。
【返回值】返回转换后的浮点型数;若不能转换或字符串为空,则返回 0.0。
使用 atof( str ) 与使用 strtod(str, NULL) 结果相同。
一般应用方法为:
char str[]="123.45";
double d=atof(str);
printf("%.2lf", d ); //输出123.45
‘贰’ C语言如何输出双精度浮点型数据
1.双精度浮点型数据用%lf输出。因为double是8个字节的,float是4个字节的,%f 的格式就是4个字节的,而 %lf 就是8个字节的。 例如:printf("%lf ",x);
2.short 占用内存空间2个字节,短整型数据用%d输出 例如:printf("%d ",a);
例:
#include <stdio.h>
int main()
{double x;
short int a;
printf("%lf",x); // 输入double型
printf("%d",a); //输入短整型
return 0;
}
(2)c语言字符串浮点扩展阅读:
C语言特有特点
1.C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。
2.C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。
3.不同的变量类型可以用结构体(struct)组合在一起。
4.只有32个保留字(reserved keywords),使变量、函数命名有更多弹性。
5.部份的变量类型可以转换,例如整型和字符型变量。
6.通过指针(pointer),C语言可以容易的对存储器进行低级控制。
7.预编译处理(preprocessor)让C语言的编译更具有弹性。
‘叁’ C语言中整型,字符型,浮点型,和双精度浮点型,详解
整型,计算机中的一个基本的专业术语,指没有小数部分的数据。整型可以用十进制,十六进制或八进制符号指定,前面可以加上可选的符号(- 或者 +)。包括整型常量和整型变量,整型变量又包括短整型、基本整型、长整型,它们都分为有符号和无符号两种版本,是一种智能的计算方式。
字符型量包括字符常量和字符变量。字符串常量由一对双引号括起的字符序列。字符变量的取值是字符常量,即单个字符。字符变量的类型说明符是char。字符变量类型说明的格式和书写规则都与整型变量相同。
浮点型利用指数使小数点的位置可以根据需要而上下浮动,从而可以灵活地表达更大脊租做范围的实数。
双精度浮点型,此数据类型与单精度数据类型(float)相似,但精确度比float高,编译时所占的内存空间依不同的编译器而有所不同,是double float数据类型,C/C++中表示实型变量的一种变量类型。
(3)c语言字符串浮点扩展阅读型高
双精度浮点型类型数值可转换到其他类型的整数或浮点数,反之亦然。双精度浮点型常量的最后一个字符可加上“d”或“D”。其存储格式与浮点型类似,最高位为符号位,次高11位为指数位,其次52位为尾数。
双精度型就是双精度浮点型,同数值型比,它能提供更高的数值精度,采用固定存储长度的浮点数形式,每个双精度浮点型数据占8个字节。与数值型数据不同,它的小数点位置是由输入的数据值来决定的,并且只能用于表中的字段。
‘肆’ c语言中如何完整的判断输入的字符串是浮点数(代码)
如果字符串已放在 char 数组 str[] 里,例如
char str[]="123.34.34";
double d;
if ( sscanf(str,"%lf",&d) != 1 ) printf("wrong floating data\n");