atof()这个excel常用函数公式大全怎么指定小数点后的保留数字

您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
单片机C语言(C51)的常用库函数.doc 22页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
你可能关注的文档:
··········
··········
C51的常用库函数详解
C51语言的编译器中包含有丰富的库函数,使用库函数可以大大简化用户程序设计的工作量,提高编程效率。每个库函数都在相应的头文件中给出了函数原型声明,在使用时,必须在源程序的开始处使用预处理命令#include将有关的头文件包含进来。
C51库函数中类型的选择考虑到了8051单片机的结构特性,用户在自己的应用程序中应尽可能地使用最小的数据类型,以最大限度地发挥8051单片机的性能,同时可减少应用程序的代码长度。下面将C51的库函数分类列出并详细介绍其用法。
字符函数的原型声明包含在头文件CTYPE.H中。常用的一些字符函数介绍如下。
检查英文字母函数
检查英文字母函数用于检查形参字符是否为英文字母,其函数原型如下:
bit isalpha(char c);
其中,c为待判断的字符,如果是英文字母则返回1,否则返回0。程序示例如下:
检查字母数字函数
检查字母数字函数用于检查形参字符是否为英文字母或数字字符,其函数原型如下:
bit isalnum(char c);
检查控制字符函数
检查控制字符函数用于检查形参字符是否为控制字符,其函数原型:bit iscntrl (char c);其中,c为待判断的字符。控制字符其取值范围为0x00~0xlF之间或等于0x7F,如果是,则返回1,否则返回0。
十进制数字检查函数
十进制数字检查函数用于检查形参字符是否为十进制数字,其函数原型如下:
bit isdigit (char c);
其中,c为待判断的字符,如果是十进制数字则返回1,否则返回0。
可打印字符检查函数
可打印字符检查函数用于检查形参字符是否为可打印字符,其函数原型如下:
bit isgraph (char c);
其中,c为待判断的字符。可打印字符的取值范围为0x21~0x7C,不包含空格,如果是可打印字符则返回1,否则返回0。
包含空格的可打印字符检查函数
包含空格的可打印字符检查函数用于检查形参字符是否为可打印字符以及空格,其函数原型如下:
bit isprint (char c);
其中,c为待判断字符。如果是则返回1,否则返回0。该函数与isgraph的区别在于包含了空格符,空格符为0x20。
格式字符检查函数
格式字符检查函数用于检查形参字符是否为标点、空格或格式字符,其函数原型如下:
bit ispunct (char c);
其中,c为待判断字符,如果是则返回1,否则返回0。
小写英文字母检查函数
小写英文字母检查函数用于检查形参字符是否为小写英文字母,其函数原型如下:
bit islower(char c);
其中,c为待判断字符。如果是小写英文字母则返回1,否则返回0。
大写英文字母检查函数
大写英文字母检查函数用于检查形参字符是否为大写英文字母,其函数原型如下:
bit isupper(char c);
其中,c为待判断字符。如果是大写英文字母则返回1,否则返回0。
控制字符检查函数
控制字符检查函数用于检查形参字符是否为控制字符,其函数原型如下:
bit isspace (char c);
其中,c为待判断字符。如果是控制字符则返回1,否则返回0。控制字符包括:空格、制表符、回车、换行、垂直制表符和送纸,其取值范围为0x09~0x0d,或为0x20。
十六进制数字检查函数
十六进制数字检查函数用于检查形参字符是否为十六进制数字,其函数原型如下:
bit isxdigit (char c);
其中,c为待判断字符。如果是16进制数字字符则返回1,否则返回0。
十六进制数字转换函数
十六进制数字检查函数用于转换形参字符为十六进制数字,其函数原型如下:
char toint (char c);
其中,c为待转换字符。该函数将形参字符0~9、a~f(大小写无关)转换为16进制数字。其中,对于字符0~9,返回值为0H~9H,对于ASCII字符a~f(大小写无关),返回值为0AH~0FH。
大写字符转换函数
大写字符转换函数用于将大写字符转换为小写字符,其函数原型如下:
char tolower (char c);
其中,c为待转换的大写字符。如果字符参数不在A~Z之间,则该函数将不起作用,而直接返回原字符。
小写字符转换函数
小写字符转换函数用于将小写字符转换为大写字符,其函数原型如下:
char toupper (char c);
其中,c为待转换的小写字符。如果字符参数不在a~z之间,则该函数将不起作用,而直接返回原字符。
ASCII字符转换函数
正在加载中,请稍后...
14页14页13页13页13页13页13页15页14页18页新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
白手起家, 积分 169, 距离下一级还需 31 积分
论坛徽章:0
我在使用atof()函数时候,遇到了很奇怪的问题!!!大家帮忙看看!!谢谢!!
#include &stdio.h&
#include &stdlib.h&
int Send_Function_Power(char *buff1)
float value;
char *str = &12345.67&;
f = atof(str);
printf(&string = %s float = %f\n&, str, f);
value=atof(buff1);
printf(&value=%f\n&,value);
输入结果:
第一次调用(*buff1=25)
string = 12345.67 float = 7.300000
value=7.300000
第二次调用为(*buff1=25)
string = 12345.67 float =
第三次调用为(*buff1=25)
string = 12345.67 float = 000
value= 000
等等!!!
注意:7.3和*buff1有关,*buff1是我主函数传递过来的值,如果*buff1的值改变了,又打印出新的莫明其妙的数!!
并且还是按照上面的规律重复!!
请问,这到底是怎么回事??到底是什么原因!!
大富大贵, 积分 10087, 距离下一级还需 9913 积分
论坛徽章:0
在函数前面加一个头文件&math.h&或者添加一个声明“double atof(const char *str);”试试
论坛徽章:0
把调用语句也帖出来。
丰衣足食, 积分 502, 距离下一级还需 498 积分
论坛徽章:0
回复 #1 wuyunzdh 的帖子
上完整代码啊
白手起家, 积分 118, 距离下一级还需 82 积分
论坛徽章:0
回复 #1 wuyunzdh 的帖子
上完整代码
白手起家, 积分 169, 距离下一级还需 31 积分
论坛徽章:0
谢谢tyc611 ,cugb_cat !谢谢大家的回复!!
“在函数前面加一个头文件&math.h&或者添加一个声明“double atof(const char *str);”试试”
我已经试过了,没有任何作用!
原调用函数为:“Send_Function_Power(ADD_SET[0],CODE_SET[16],cur_sel1,cur_sel2,buf_str1,buf_str2,buf_str3);”
函数原型为:int Send_Function_Power(BYTE Address, BYTE Code,int switchstat,int chargestat,char *buff1,char *buff2,char *buff3)
此函数我是用交叉编译器编译下载的ARM开发板上运行的,使用的是minigui:
使用以下命令:arm-linux-gcc -o main main.c propsheet.c serial.c -lminigui -lmgext -ljpeg -lttf -lpng -lm -lc
但是,今天我编译成PC机运行的代码后,在PC机上面仿真的时候,是完全正确的!!
使用以下命令:gcc -o main main.c propsheet.c serial.c -lminigui -lmgext
请问,这是什么原因导致的??
谢谢,大家!!
论坛徽章:36
编译的时候加上 -lm
巨富豪门, 积分 21267, 距离下一级还需 18733 积分
论坛徽章:3
声明为double类型
白手起家, 积分 169, 距离下一级还需 31 积分
论坛徽章:0
谢谢!大家,我已经这样试过了!没用
1:我开始就是使用命令:arm-linux-gcc -o main main.c propsheet.c serial.c -lminigui -lmgext -ljpeg -lttf -lpng -lm -lc
编译成ARM运行的程序,下载到开发板上运行的时候出现错误的!!
注意:里面有-lm
2:使用命令:gcc -o main main.c propsheet.c serial.c -lminigui -lmgext
编译成PC机运行的代码后,在PC机上面仿真的时候,是完全正确的!!
3:改成double类型也不行的!!
4:我使用的头文件有:
#include& &&&&stdio.h&
#include& &&&&stdlib.h&
#include& &&&&unistd.h&
#include& &&&&sys/types.h&
#include& &&&&sys/stat.h&& &
#include& &&&&fcntl.h&
#include& &&&&termios.h&
#include& &&&&errno.h&
#include& &&&&sys/time.h&
#include &math.h&
[ 本帖最后由 wuyunzdh 于
14:06 编辑 ]
论坛徽章:0
在你的帖子中,我看到如下几行
int Send_Function_Power(char *buff1)
输入结果:
第一次调用(*buff1=25)
北京盛拓优讯信息技术有限公司. 版权所有 京ICP备号 北京市公安局海淀分局网监中心备案编号:22
广播电视节目制作经营许可证(京) 字第1234号
中国互联网协会会员&&联系我们:
感谢所有关心和支持过ChinaUnix的朋友们
转载本站内容请注明原作者名及出处C语言中一些将字符串转换为数字的函数小结
转载 &更新时间:日 08:57:49 & 投稿:goldensun
这篇文章主要介绍了C语言中一些将字符串转换为数字的函数小结,分别为atoi()函数和atol()函数以及atof()函数,需要的朋友可以参考下
C语言atoi()函数:将字符串转换成int(整数)
#include &stdlib.h&
atoi() 函数用来将字符串转换成整数(int),其原型为:
int atoi (const char * str);
【函数说明】atoi() 函数会扫描参数 str 字符串,跳过前面的空白字符(例如空格,tab缩进等,可以通过 isspace() 函数来检测),直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。
【返回值】返回转换后的整型数;如果 str 不能转换成 int 或者 str 为空字符串,那么将返回 0。
范例:将字符串a 与字符串b 转换成数字后相加。
#include &stdio.h&
#include &stdlib.h&
int main ()
char buffer[256];
printf ("Enter a number: ");
fgets (buffer, 256, stdin);
i = atoi (buffer);
printf ("The value entered is %d.", i);
system("pause");
执行结果:
Enter a number: 233cyuyan
The value entered is 233.
C语言atof()函数:将字符串转换为double(双精度浮点数)
#include &stdlib.h&
atol() 函数的名字源于“ascii to long”,用来将字符串转换成长整型数(long),其原型为:
long atol(const char * str);
【函数说明】atol() 会扫描参数 str 字符串,跳过前面的空白字符(例如空格,tab缩进等,可以通过 isspace() 函数来检测),直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。
【返回值】返回转换后的长整型数(long);如果 str 不能转换成 long 或者 str 为空字符串,那么将返回 0。
示例:将输入的字符串转换成long。
#include &stdio.h&
#include &stdlib.h&
int main ()
char buffer[256];
printf ("Enter a long number: ");
fgets(buffer, 256, stdin);
li = atol(buffer);
printf ("The value entered is %ld.\n", li);
system("pause");
执行结果:
Enter a long number: 1200cyuyan
The value entered is 1200.
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");
执行结果:
a = -100.23
c = 341.00
d = 100.34
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具atof的作用是将字符数组转换成相应的双精度的实数,
本题的例子如下:
(仅供参考)
#include&iostream&#include&stdlib.h&#include&string.h&int main(){&char a[10]="1236241";&double b=atof(a);&cout&&b&& &return 0;}
阅读(...) 评论()

我要回帖

更多关于 excel常用函数公式大全 的文章

 

随机推荐