linux C函数练习 一 数据转换函数

 

函数名函数原型头文件函数功能返回值附加说明
atofdouble atof(const char *nptr)#include <stdlib.h>将字符串转换成浮点型数返回转换后的浮点数与使用strtod(nptr,(char**)NULL)结果相同
atoiint atoi(const char *nptr)#include <stdlib.h>将字符串转换成整形数返回转换后的整型数与使用strtol(nptr,(char**)NULL,10)结果相同
atollong atol(const char **nptr)#include <stdlib.h>将字符串转换成长整型
atol会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始转换,而在遇到非数字或字符串结束时('\0')才结束转换,并将结果返回
返回转换后的长整型数与使用strtol(nptr,(char**)NULL,10)结果相同
ecvtchar *ecvt(double number, int ndigits, int *decpt, int *sign)#include <stdlib.h>将浮点型数据转换成字符串,取四舍五入。
Ecvt用来将参数number转换成ASCII码字符串,参数ndigits表示显示的位数。若转换成功,参数decpt指针所指的变量会返回数值中小数点的地址(从左至右算起),而参数singn指针所指的变量则代表数值正或负,若数值为正,则返回值则为0,否则为1.
返回一个字符串指针,此字符串生命为static,若再调用ecvt() 或 fcvt() 此字符串内容会被覆盖尽量改用sprintf() 做转换
fcvtchar *fcvt(double number, int ndigits,int *decpt,int *sign);#include <stdlib.h>将浮点型数转换成字符串,取四舍五入。
fcvt用来将参数number转换成ASCII码字符串,参数ndigits表示小数点后显示的位数。若转换成功,参数decpt指针所指的变量会返回数值中小数点的地址(从左至右算起),而参数singn指针所指的变量则代表数值正或负,若数值为正,则返回值则为0,否则为1.
返回一个字符串指针,此字符串生命为static,若再调用ecvt() 或 fcvt() 此字符串内容会被覆盖尽量改用sprintf() 做转换
gcvtchar *gcvt(double number, size_t ndigits, char *buf);#include <stdlib.h>将浮点型数转换为字符串,取四舍五入。
Gcvt用来将number转换成ASCII码字符串,参数ndigits表示显示的位数。Gcvt与ecvt 和 fcvt不同的地方在于,gcvt所转换后的字符串包含小数点或正负符号。若转换成功,转换后的字符串会放在参数buf指针所指的空间。
返回一字符串指针,此地址即为buf指针。 
strtoddouble strtod(const char *nptr, char **endptr);#include <stdlib.h>将字符串转换成浮点型数。
Strtod会扫描参数nptr,跳过前面的空格字符,直到遇上数字或者正负符号才开始做转换,直到出现非数字或者字符串结束符('\0')才结束转换。并将结果返回。若endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr传回。参数nptr字符可包含正负号、小数点或者E( e )来表示指数部分。
返回转换后的浮点型数 
strtollong int strtol(const char * nptr, char **endptr, int base);#include <stdlib.h>strtol会将参数nptr字符串根据参数base来转换成长整型数。参数base范围从2至36,或者0。 参数base代表采用的进制方式,如base值为10 则采用10进制,若base值为16,则采用16进制等。当base为0时,则采用10进制转换,但遇到如'0x'前置字符则会使用16进制做转换。一开始strtol会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,在遇到非数字或者字符串结束符('\0')结束转换,并将结果返回。若参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr返回。返回转换后的长整型数,否则返回ERANGE并将错误代码存入ermo中。ERANGE制定的转换字符超过合法范围
strtoulunsigned long int strtoul(const char *nptr,char **endptr,int base)#include <stdlib.h>将字符串转换成无符号长整型数  
toasciiint toascii(int c);#include <ctype.h>将整形数转换成合法的ASCII码字符。
Toascii会将参数c转换成7位的unsigned char值,第八位则会被清除,此字符机会被转成ASCII码字符。
将转换成功的ASCII字符值返回 
tolowerint tolower(int c)#include <ctype.h>将大写字母转换成小写字母返回转换后的小写字母。 
toupperint toupper(int c)#include <ctype.h>将小写字母转换成大写字母返回转换后的大写字母。 

 

 

#include <stdlib.h>
#include <stdio.h>

void main()
{
	//atof
	char *a="-100.23";
	char *b="  200e-2";
	float c;
	c = atof(a) + atof(b);
	printf("c=%.2f\n", c);

	printf("atoi(-100.23) = %d\n", atoi(a));
	printf("atoi( 200e-2) = %d\n", atoi(b));
	printf("atoi(-100.23) + atoi( 200e-2) = %d\n",atoi(a)+atoi(b));
	//atoi
	
	char a1[]="-100";
	char b1[]=" 456";
	int c1;
	c1 = atoi(a1) + atoi(b1);
	printf("c1 = %d\n" ,c1 );
	
	//atol
	char a2[]="1000000000";
	char b2[]=" 234567890";
	long c2;
	c2 = atol(a2) + atol(b2);
	printf("c2=%ld\n",c2);

	//ecvt
	double a3=123.45;
	double b3=-1234.56;
	char *ptr;
	int decpt,sign;
	ptr = ecvt (a3, 5, &decpt, &sign);
	printf("decept = %d, sign = %d, a value=%s\n",decpt,sign,ptr);
	ptr = ecvt(b3,6,&decpt, & sign);
	printf("decept = %d, sign = %d, b value=%s\n",decpt,sign,ptr);

	//fcvt
	double a4=123.45;
	double b4=-1234.567;
	char *ptr4;
	int decpt4, sign4;
	ptr4 = fcvt (a4, 2, &decpt4, &sign4);
	printf("decept = %d, sign=%d, a value=%s\n",decpt4,sign4,ptr4);
	ptr4=fcvt(b4,2,&decpt4, &sign4);
	printf("decept=%d,sign=%d,b value=%s\n",decpt4,sign4,ptr4);
	
	//gcvt
	double a5=123.45;
	double b5=-1234.56;
	char ptr5[25];
	int decpt5, sign5;
	gcvt(a5, 5, ptr5);
	printf("a value=%s\n",ptr5);
	
 	gcvt(b5,5,ptr5);
	printf("b value=%s\n",ptr5);
	
	//strtod
	char *endptr6;
	char a6[]="12345.6789";
	char b6[]="123456qwer";
	char c6[]="-232.23e4";
	printf("a=%lf\n", strtod(a6, NULL) );
	printf("b=%lf\n", strtod(b6,&endptr6));
	printf("endptr=%s\n", endptr6);
	printf("c=%lf\n", strtod(c6, NULL));	
	
	//strtol
	char a7[]="1000000000";
	char b7[]="1000";
	char c7[]="   fff";
	printf ("a=%d\n", strtol(a7,NULL,0));
	printf ("b=%d\n", strtol(b7,NULL,2));
	printf ("c=%d\n", strtol(c7,NULL,16));
}	

  

转载于:https://www.cnblogs.com/Eastsong/p/3593695.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于微信小程序的家政服务预约系统采用PHP语言和微信小程序技术,数据库采用Mysql,运行软件为微信开发者工具。本系统实现了管理员和客户、员工三个角色的功能。管理员的功能为客户管理、员工管理、家政服务管理、服务预约管理、员工风采管理、客户需求管理、接单管理等。客户的功能为查看家政服务进行预约和发布自己的需求以及管理预约信息和接单信息等。员工可以查看预约信息和进行接单。本系统实现了网上预约家政服务的流程化管理,可以帮助工作人员的管理工作和帮助客户查询家政服务的相关信息,改变了客户找家政服务的方式,提高了预约家政服务的效率。 本系统是针对网上预约家政服务开发的工作管理系统,包括到所有的工作内容。可以使网上预约家政服务的工作合理化和流程化。本系统包括手机端设计和电脑端设计,有界面和数据库。本系统的使用角色分为管理员和客户、员工三个身份。管理员可以管理系统里的所有信息。员工可以发布服务信息和查询客户的需求进行接单。客户可以发布需求和预约家政服务以及管理预约信息、接单信息。 本功能可以实现家政服务信息的查询和删除,管理员添加家政服务信息功能填写正确的信息就可以实现家政服务信息的添加,点击家政服务信息管理功能可以看到基于微信小程序的家政服务预约系统里所有家政服务的信息,在添加家政服务信息的界面里需要填写标题信息,当信息填写不正确就会造成家政服务信息添加失败。员工风采信息可以使客户更好的了解员工。员工风采信息管理的流程为,管理员点击员工风采信息管理功能,查看员工风采信息,点击员工风采信息添加功能,输入员工风采信息然后点击提交按钮就可以完成员工风采信息的添加。客户需求信息关系着客户的家政服务预约,管理员可以查询和修改客户需求信息,还可以查看客户需求的添加时间。接单信息属于本系统里的核心数据,管理员可以对接单的信息进行查询。本功能设计的目的可以使家政服务进行及时的安排。管理员可以查询员工信息,可以进行修改删除。 客户可以查看自己的预约和修改自己的资料并发布需求以及管理接单信息等。 在首页里可以看到管理员添加和管理的信息,客户可以在首页里进行家政服务的预约和公司介绍信息的了解。 员工可以查询客户需求进行接单以及管理家政服务信息和留言信息、收藏信息等。
数字社区解决方案是一套综合性的系统,旨在通过新基建实现社区的数字化转型,打通智慧城市建设的"最后一公里"。该方案以国家政策为背景,响应了国务院、公安部和中央政法会议的号召,强调了社会治安防控体系的建设以及社区治理创新的重要性。 该方案的建设标准由中央综治办牵头,采用"9+X"模式,通过信息采集、案(事)件流转等手段,实现五级信息中心的互联互通,提升综治工作的可预见性、精确性和高效性。然而,当前社区面临信息化管理手段不足、安全隐患、人员动向难以掌握和数据资源融合难等问题。 为了解决这些问题,数字社区建设目标提出了"通-治-服"的治理理念,通过街道社区、区政府、公安部门和居民的共同努力,实现社区的平安、幸福和便捷。建设思路围绕"3+N"模式,即人工智能、物联网和数据资源,结合态势感知、业务分析和指挥调度,构建起一个全面的数据支持系统。 数字社区的治理体系通过"一张图"实现社区内各维度的综合态势可视化,"一套表"进行业务分析,"一张网"完成指挥调度。这些工具共同提升了社区治理的智能化和效率。同时,数字社区还提供了包括智慧通行、智慧环保、居家养老和便民服务等在内的多样化数字服务,旨在提升居民的生活质量。 在硬件方面,数字社区拥有IOT物联网边缘网关盒子和AI边缘分析盒子,这些设备能够快速集成老旧小区的物联设备,实现传统摄像设备的智能化改造。平台优势体现在数字化能力中台和多样化的应用,支持云、边、端的协同工作,实现模块化集成。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值