當前位置:首頁 » 編程語言 » 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();
熱點內容
迅雷阻止上傳 發布:2024-05-05 21:26:19 瀏覽:913
資料庫運維題 發布:2024-05-05 21:21:47 瀏覽:961
RM魔塔編程 發布:2024-05-05 21:21:47 瀏覽:285
matlab獲取文件夾 發布:2024-05-05 21:12:24 瀏覽:291
一根式演算法 發布:2024-05-05 21:12:23 瀏覽:955
php無刷新 發布:2024-05-05 21:08:11 瀏覽:982
搭建一個流媒體伺服器 發布:2024-05-05 20:40:59 瀏覽:667
2017中超資料庫 發布:2024-05-05 20:37:25 瀏覽:379
編程包游戲 發布:2024-05-05 20:25:00 瀏覽:609
系統鎖屏忘記密碼如何設置 發布:2024-05-05 20:18:07 瀏覽:760