C语言中int,duoble数据转换为char类型

本文介绍了几种常见的将整数和浮点数转换为字符串的方法,包括sprintf、itoa、ltoa、ultoa、gcvt、ecvt和fcvt等函数,并提供了详细的使用说明。

前几天在做彩屏显示的时候,我遇到一个把变量输入到彩屏的问题,其中有的变量是int或者double的,但是彩屏厂商提供的库函数只有显示字符的发送函数,所以我就在想能不能把int或者double的强制转换成char类型的进行显示;

在网上找到了一些,有的能用,有的不能用,所以我总结了以下:

Int 、double 转换为char 我利用Sprintf();

格式为:sprintf(str,”%d”,aaa);

其中:str是转换完成后,字符存储的字符数组;

     %d是要转换数据类型,int的为%d,double的是%f

     aaa为待转换的int或者double数据;

注:要用这个函数的时候需要添加头文件#include <stdio.h>,不然有可能出错误。

以下是我们在标准C语言中常用到的:

  1、itoa

  功 能:把一整数转换为字符串

用 法:char *itoa(intvalue, char *string, int radix);

其中:  value: 待转化的整数。

            radix: 是基数的意思,即先将value转化为radix进制的数,范围介于2-36,比如10表示10进制,16表示16进制。

           * string: 保存转换后得到的字符串。

  返回值:

  char * : 指向生成的字符串,同*string。

  备注:该函数的头文件是"stdlib.h"

  2、ltoa

  功 能:把一长整形转换为字符串

  用 法:char *ltoa(longvalue, char *string, int radix);

  详细解释:itoa是英文long integer to array(将long int长整型数转化为一个字符串,并将值保存在数组string中)的缩写.

  参数:

  value: 待转化的长整型数。

  radix: 是基数的意思,即先将value转化为radix进制的数,范围介于2-36,比如10表示10进制,16表示16进制。

  * string: 保存转换后得到的字符串。

  返回值:

  char * : 指向生成的字符串,同*string。

  备注:该函数的头文件是"stdlib.h"

  3、ultoa

  功 能:把一无符号长整形转换为字符串

  用 法:char*ultoa(unsigned long value, char *string, int radix);

  详细解释:itoa是英文unsigned long integer to array(将unsignedlong int无符号长整型数转化为一个字符串,并将值保存在数组string中)的缩写.

  参数:

  value: 待转化的无符号长整型数。

  radix: 是基数的意思,即先将value转化为radix进制的数,范围介于2-36,比如10表示10进制,16表示16进制。

  * string: 保存转换后得到的字符串。

  返回值:

  char * : 指向生成的字符串,同*string。

  备注:该函数的头文件是"stdlib.h"

  4、gcvt

  功 能:把浮点型数转换为字符串,取四舍五入

  用 法:char *gcvt(doublevalue, int ndigit, char *buf);

  详细解释:gcvt()用来将参数number转换成ASCII码字符串,参数ndigits表示显示的位数。gcvt()与ecvt()和fcvt()不同的地方在于,gcvt()所转换后的字符串包含小数点或正负符号。若转换成功,转换后的字符串会放在参数buf指针所指的空间。

  参 数:

  value:待转化的浮点数。

  ndigit:存储的有效数字位数。

  *buf:结果的存储位置。

  返回值:

  char * :指向生成的字符串,同*buf。

  备注:该函数的头文件是"stdlib.h"

  5、ecvt

  功 能:将双精度浮点型数转换为字符串,转换结果中不包括十进制小数点

  用 法:char *ecvt(doublevalue, int ndigit, int *decpt, int *sign);

  详细解释:ecvt函数把一个双精度浮点数转换成一个字符串。value参数是要转换的浮点数。这个函数存储最多ndigit个数字值作为一个字符串,并添加一个空数字符('\0'),如果value中的数字个数超过ndigit,低位数字被舍入。如果少于ndigit个数字,该字符串用0填充。

  只有数字才存储在该字符串中,小数点位置和value符号在调用之后从decpt和sign获取。decpt参数指出给出小数点位置的整数值,它是从该字符串的开头位置计算的。0或负数指出小数点在第一个数字的左边。sign参数指出一个指出转换的数的符号的整数。如果该整数为0,这个数为正数,否则为负数。

  参 数:

  value:待转换的双精度浮点数。

  ndigit:存储的有效数字位数。

  *decpt:存储的小数点位置。

  *sign:转换的数的符号。

  返回值:

  char*:指向生成的字符串。

  备注:该函数的头文件是"stdlib.h"

  6、fcvt

  功 能:指定位数为转换精度,其余同ecvt

  用 法:char *fcvt(doublevalue, int ndigit, int *decpt, int *sign);

  详细解释:fcvt函数把一个双精度浮点数转换成一个字符串。value参数是要转换的浮点数。参与转换的实际值保留的小数位数由ndigit决定。

  只有数字才存储在该字符串中,小数点位置和value符号在调用之后从decpt和sign获取。decpt参数指出给出小数点位置的整数值,它是从该字符串的开头位置计算的。0或负数指出小数点在第一个数字的左边。sign参数指出一个指出转换的数的符号的整数。如果该整数为0,这个数为正数,否则为负数。

  参 数:

  value:待转换的双精度浮点数

  ndigit:转换的字符串中包含小数点后几位

  *decpt:返回小数点在串中的位置

  *sign:符号标志。

  返回值:

  char*:指向生成的字符串。

  备注:该函数的头文件是"stdlib.h"

java项目之基于uniapp+springboot兼职app(源码+说明文档+演示视频)登录为学生时:四个页面首页:1.区域选择(锦江区、青羊区、金牛区、武侯区、成华区、龙泉驿区、青白江区、新都区、温江区、双流区、郫都区),选择某一区域就显示该区域的兼职信息。2.搜索框3.轮播图(3-4张关于工作的图片)4.6个兼职模块(日结、月结、最新、周末、暑假工、寒假工),点进去有对应兼职列表页面。点到某一兼职信息有该兼职的信息展示页面。在此页面用户可以选择报名该兼职。分类:1.标题:全部兼职2.横向可滑动导航栏(内容:餐厅服务员、发单员、导游、家教、促销员、礼仪、翻译7个兼职种类)每类下面兼职信息以列表形式呈现,兼职信息列表随导航种类的切换而切换。点到某一兼职信息有该兼职的信息展示页面。在此页面用户可以选择报名该兼职,用户可以和发单人聊天沟通消息:1.待录用、待评价、已完成,我的发起4类信息,页面布置与分类页面一样,以列表方式呈现,点哪类就切换哪类的信息。发起人可以同意申请,申请人可以看到状态,申请人任务完成后由发起人点击完成,发起人可以评价我的1.标题:个人中心2.我的简历、关于我们、系统设置四个模块3.我的简历:固定模板让用户填写,用户不用自己上传简历。可随时更新简历。4.我的发起:任何人都可以发起兼职,对于我的发起,有查看报名人数及报名人的信息,信息包含简历。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值