C语言strtod()函数:将字符串转换为double
2018-04-11 10:09
302 查看
//函数是看的别人的文章 发表本文的目的只是做个笔记而已。
函数 strtod() 用来将字符串转换成双精度浮点数(double),其原型为:
double strtod (const char* str, char** endstr);
【参数说明】str 为要转换的字符串,endstr 为第一个不能转换的字符的指针。
【函数说明】strtod() 函数会扫描参数str字符串,跳过前面的空白字符(例如空格,tab缩进等,可以通过
isspace() 函数来检测),直到遇上数字或正负符号才开始做转换,到出现非数字或字符串结束时('\0')才结束转换,并将结果返回。参数 str 字符串可包含正负号、小数点或E(e)来表示指数部分。如123. 456 或123e-2。
若endptr 不为NULL,则会将遇到的不符合条件而终止的字符指针由 endptr 传回;若 endptr 为 NULL,则表示该参数无效,或不使用该参数。
其中if(!NULL) ; 会执行 。 NULL(空)为假;
【返回值】返回转换后的浮点型数;若不能转换或字符串为空,则返回 0.0。
天梯题目:1505 神秘的杂文 链接:http://codevs.cn/problem/1505/
题目描述 Description
有一篇“杂文”,由一些整数、带小数点的实数和乱七八糟的单词(字符串)组成。整数的范围必须在-70000到70000之间;实数用一般形式表示,而不用科学计数法,大小也在-70000到70000之间,(输入文件中保证)有效数字不超过10位;凡不符合以上格式和范围的都是单词,一个单词内部不含空格。
这些内容由空格或者回车分割,连续的空格可能不只一个,也可能有空行。
求除了单词以外的整数和实数的算术平均值。
输入描述 Input Description
由整数、实数和单词间隔形成的文章。每行至多255个字符。文章大小至多100KB。
输出描述 Output Description
文中符合要求的整数和实数的平均值,四舍五入保留小数点后2位。
样例输入 Sample Input
3 3.14 aaa 5a
A5 -3
-3.14 5
样例输出 Sample Output
1.00
函数 strtod() 用来将字符串转换成双精度浮点数(double),其原型为:
double strtod (const char* str, char** endstr);
【参数说明】str 为要转换的字符串,endstr 为第一个不能转换的字符的指针。
【函数说明】strtod() 函数会扫描参数str字符串,跳过前面的空白字符(例如空格,tab缩进等,可以通过
isspace() 函数来检测),直到遇上数字或正负符号才开始做转换,到出现非数字或字符串结束时('\0')才结束转换,并将结果返回。参数 str 字符串可包含正负号、小数点或E(e)来表示指数部分。如123. 456 或123e-2。
若endptr 不为NULL,则会将遇到的不符合条件而终止的字符指针由 endptr 传回;若 endptr 为 NULL,则表示该参数无效,或不使用该参数。
其中if(!NULL) ; 会执行 。 NULL(空)为假;
【返回值】返回转换后的浮点型数;若不能转换或字符串为空,则返回 0.0。
天梯题目:1505 神秘的杂文 链接:http://codevs.cn/problem/1505/
题目描述 Description
有一篇“杂文”,由一些整数、带小数点的实数和乱七八糟的单词(字符串)组成。整数的范围必须在-70000到70000之间;实数用一般形式表示,而不用科学计数法,大小也在-70000到70000之间,(输入文件中保证)有效数字不超过10位;凡不符合以上格式和范围的都是单词,一个单词内部不含空格。
这些内容由空格或者回车分割,连续的空格可能不只一个,也可能有空行。
求除了单词以外的整数和实数的算术平均值。
输入描述 Input Description
由整数、实数和单词间隔形成的文章。每行至多255个字符。文章大小至多100KB。
输出描述 Output Description
文中符合要求的整数和实数的平均值,四舍五入保留小数点后2位。
样例输入 Sample Input
3 3.14 aaa 5a
A5 -3
-3.14 5
样例输出 Sample Output
1.00
#include <iostream> #include <cstdio> #include <cstdlib> using namespace std; int main() { char *p, A[100]; int n=0; double sum=0,a; while(scanf("%s", A)!=EOF) { a = strtod(A, &p); if(!*p&&a>-70000&&a<70000) { // printf("%.2f\n",a); sum += a; n++; } } if(n==0) printf("0.00"); else printf("%.2f", sum/n); return 0; }
相关文章推荐
- C语言atof()函数:将字符串转换为double(双精度浮点数)
- C语言atof()函数:将字符串转换为double(双精度浮点数)
- C语言atof()函数:将字符串转换为double(双精度浮点数)
- 字符串转换为double的函数strtod
- C语言中一些将字符串转换为数字的函数小结
- L1-025. 正整数A+B(C语言将字符串数字转换成整型数函数)
- 【C语言】【笔试题】实现一个函数int my_atoi(char s[]),可以将一个字符串转换为对应的整数。
- 【C语言】编写一个函数,将一个数字字符串转换成该字符串对应的数字(包括正整数、负整数)
- C语言strlwr()函数:将字符串转换为小写
- 自己动手写C语言浮点数转换字符串函数
- 【剑指offer】C语言:实现函数可以将一个字符串转换为对应的整数,如+1234输出1234
- 【C语言】【笔试题】实现一个函数int my_atoi(char s[]),可以将一个字符串转换为对应的整数。
- C语言atoi()函数:将字符串转换成int(整数)
- C语言strlwr()函数:将字符串转换为小写
- vc中字符串和数字转换的函数:atoi,atol,strtod,strtol,strtoul 类型转换
- strtoul strtol(字符串转换为long) strtod(字符串转换为 double)
- C语言atoi()函数:将字符串转换成int(整数)
- 【剑指offer】C语言:实现函数可以将一个字符串转换为对应的整数,如+1234输出1234
- c语言中的转换字符串为整数的函数
- 编写函数,其功能是:将一个数字字符串转换为一个整数(不得调用C语言中提供的将字符串转换成整数的函数。)要求在主函数中输入该字符串并输出转换后的整数的值。