当前位置:首页 » 编程语言 » c语言double转char

c语言double转char

发布时间: 2022-06-12 04:42:36

c语言如何把float型转化为char型

如果
x

float
型,c

char
型,这样就可以把
类型转换

c
=
(char)
x;

所谓转换是这样的。例如:
float
x
=
65.1;
char
c;
c
=
(char)
x;
这样
c
里存的就是
65,即字符
'A'。

补充回答:
还有另外一种“转换”,就是
Arvin
2010-11-06
14:08
所说的,不过不是
float
型转换成
char
型,而是把
float
型的
数字转换
成为“字符型数组”的表达方式。这种转换最简单的方法就是借用

里的
sprintf
函数,把实数打印到数组里。
例如:
float
x
=
65.1;
char
a[20];
sprintf(a,
"%g",
x);
这样子,数组
a
里就会保存字符串
"65.1",即
a[0]
=
'6';
a[1]
=
'5';
a[2]
=
'.';
a[3]
=
'1';
a[4]
=
'\0';

不知道楼主要的,是哪一种转换。请选择满意的答案采纳。如有疑问,欢迎追问。

❷ 请问C语言中 如何把double类型的数转化为字符串 char

使用_gcvt函数,头文件stdlib.h
比如:
char r[10]={'\0'};
_gcvt(3.1415,10,r);

❸ C语言怎样将double转换成一个字节的char类型。比如3.1415小数去掉后用一个字节来装

直接转换,会自动去掉小数点的,假如要完全转化为char类型,得先定义一个char字符串,然后snprintf(你的字符数组名, 宽度, "%g", double变量)

❹ C语言中如何将double型数据转换为数组

思路是:
先将Double型的数字整数部分变为整型数字一一取到数组中去(用循环整除可以做到,比如double i=123.456,就可以先把整数部分用j=(int)i强制类型转换取出放入整型变量j中,再依次取到数组a中
(a[k++]=i%10;i/=10;)
这两句语句就可以做到(不过数字是倒序的,最后输出时要注意)。
再看小数部分,同理,但不用除法,而用乘法,先去除整数部分
(j=j-(int)j;)
再将小数部分不断的乘10取整,取一位去除一位,存入另一数组:
l=(int)(j*10);
b[k++]=l;
j=j*10-l;...直到j*10==0为止
这样就可以把j中的数按位取到了两个数组中,接下去只要将两数组合并到C数组中去,或者依次输出整数部分和小数部分,中间别忘加小数点,输出成字符在C语言里可以这样:
printf("%c",a[i]+'0');
printf(".");
printf("%c",b[i]+'0');

以上就是我的算法,请高手看了不要笑话,希望能给楼主带来启发。

❺ C语言将double转化成char数组存储

double m;
unsinged char buf[32];
unsinged char len;

m = 123456789123;

len = 0;
while(1)
{
buf[len++] = m % 10;
m = m / 10;
if (m == 0)
{
break;
}
}
// 上面的代码得到一个变长的数组,buf[], 数字长度为len, 是反序
之后对buf 进行颠倒重排即可。重排结果是定长还是变长,不清楚,后面的代码自己写。

❻ C语言 int/float/double 数值转成字符串的方法或者函数

对于int型,可以调用函数itoa。
char*itoa(int value,char*string,int radix);
功能为将任意类型的数字转换为字符串。
int value 被转换的整数,char *string 转换后储存的字符数组,int radix 转换进制数,如2,8,10,16 进制等。

float和double类型没有特定的转换函数。

不过不论是float, double还是int,都可以通过sprintf函数进行转换。
sprintf类似于printf,都是按照格式化字符串输出参数到目标。不过printf是输出到终端,而sprintf是输出到第一个参数的字符串中。
定义
int i;
float f;
double d;
再定义字符串空间
char buf[100];
调用
sprintf(buf, "%d",i);
sprintf(buf, "%f",f);
sprintf(buf, "%lf",d);
就可以分别把int, float, double转换成值对应的字符串。

❼ c语言中 double 数值 怎么转换成 字符串

#include<iostream>
#include<string>
using namespace std;
int main()
{
string s1,s2;
double d1,d2;
int i,j;
while(cin>>d1)
{
/*初始化 清空*/
s1.clear();
s2.clear();

/*负数情况*/
if(d1<0)
{
s2+='-';
d1=-d1;
}

/*处理整数部分*/
j=i=d1;//除去小数部分
while(j>0)
{
s1+=j%10+'0';
j/=10;
}
/*获得的s1是i的倒序,所以得整序*/
for(j=s1.size()-1;j>=0;j--)
s2+=s1[j];

if(d1-i>0)//如果d1不是整数
{
s2+='.';//补上小数点
/*处理小数部分*/
d2=d1-i;//获得小数部分

/*因为是浮点型,所以结束判断不易,
使得计算结果的最后一位不准确,敬谅
!*/
while(d2>(1e-10))//d2>0.0000000001
{
d2*=10;
i=d2;
s2+=i+'0';
d2-=i;
}
}

/*输出*/
cout<<s2<<endl;
}
return 0;
}

❽ C语言double型转换为字符串型

使用_gcvt函数,头文件stdlib.h
比如:
char r[10]={'\0'};
_gcvt(4.56,10,r);

❾ 单片机C语言怎样把double型转换为char型数据

单片机不清楚,我只知道在我的机子上可以用如下方法

#include "stdio.h"
#include "string.h"
void main()
{
double a=12.345;
unsigned char b[8];
memcpy(b,&a,8);
for(int i=0;i<8;i++) printf("%x ",b[i]);
}

或者
#include "stdio.h"
#include "string.h"

union A{
double a;
unsigned char b[8];
};

void main()
{
A t;
t.a=12.345;
for(int i=0;i<8;i++) printf("%x ",t.b[i]);
}

❿ C#如何将double转为char

如果将double转为char数据将被强制截断,您直接强制转换即可,如:

doubled1=124.00;
charc1=(char)d1;

可以转换为char数组,如:

char[]clst=d1.ToString().ToCharArray();
热点内容
手机f加密 发布:2024-05-19 03:28:47 浏览:225
用什么密码写日记 发布:2024-05-19 03:27:57 浏览:303
数据库access2003 发布:2024-05-19 02:49:39 浏览:620
碧蓝航线pc挂机脚本 发布:2024-05-19 02:30:03 浏览:589
脚本fir 发布:2024-05-19 02:28:57 浏览:261
阿里云独享服务器 发布:2024-05-19 02:23:54 浏览:253
织梦源码ga 发布:2024-05-19 02:23:20 浏览:571
java文件名后缀 发布:2024-05-19 02:14:39 浏览:956
快手点榜脚本 发布:2024-05-19 02:08:44 浏览:163
pythonforinkeys 发布:2024-05-19 01:55:44 浏览:793