C語言怎麼將浮點變數存入字元陣列

時間 2021-10-17 02:37:57

1樓:天雲小店

利用字元與ascii碼的關係 將float型的每一位變為字元型

2樓:自我程式設計

如果是在pc上,直接使用sprintf函式就可以實現:

#include

#include

int main()

但在微控制器中,沒有現成函式呼叫,那就自己寫:

#include

void sprint(float n,char *rechar,int zsize,int xsize,int flag)//功能將浮點數n轉成字串,儲存到以rechar地址開頭的字元陣列中(可實現插入)

//flag=0:直接轉換浮點數到指定地址    flag=1:將轉換的浮點數插入到指定地址位置

//zsize:n整數部分最大可能的位數。   xsize:n小數部分最大可能的位數+1(包含小數點)。

//rechar:用於返回處理後的字串

a[i++]=x+'0';

a[i++]='.';

while(z/10!=0)

a[i++]=z+'0';

a[i]=0;

for(i=zsize+xsize-1;i>=0;i--)rechar[j++]=a[i];

if(flag==0)

rechar[j]=0;

}int main()

3樓:戶哲茂

#include"stdio.h"

b = 199.7;

sprintf(a,"hehdt,%.1f,t",b);

結果就是

a="hehdt,199.7,t"

4樓:匿名使用者

char a[100];

double d=199.7;

sprintf( a, "%s,%.1f,t", "hehdt", d ); 這樣就可以了!

微控制器c語言中如何將浮點型變數轉換成字串輸出

5樓:

得出的值先儲存到一個變數中 如結果為a= 4.234 如果要保留兩位小數的話

unsigned int a=4.234*100;

unsigned char s[5];

s[0]=a/100+0x30;

s[1]='.'

s[1]=a%100/10+0x30;

s[2]=a%10+0x30;

6樓:

計算的結果(小數)比如0.33 依次顯示『0』『.』『3』『3』不就行了。

7樓:匿名使用者

用sprinft()

函式實現

c語言中將一個浮點型賦值給整型時,會不會四捨五入?

8樓:幻翼高達

c語言中將一個浮點型賦值給整型時,不會四捨五入,會直接捨去小數部分的資料,也可以認為是執行了下取整運算。

將浮點數(單雙精度)轉換為整數時,將捨棄浮點數的小數部分, 只保留整數部分。將整型值賦給浮點型變數,數值不變,只將形式改為浮點形式, 即小數點後帶若干個0。注意:

賦值時的型別轉換實際上是強制的。

例如執行賦值後,無論5.4還是5.6都會變成5。

9樓:_夢幻陽光

不會的,不過可以寫一個函式自己轉換啊

#include

int fun(float x)

int main()

列印的為3和4,c語言很靈活的,樓主想要什麼幾乎都能實現

10樓:匿名使用者

不會的,如int x; 如果有 x=4.78; 則x的值是4

11樓:匿名使用者

不會,後面的小數就直接沒了,只有整數部分了

採納我哦

12樓:匿名使用者

不會的啦,整型的話,1/2=0,而不是0.5或者1,但整型變成浮點型要強制型別轉換,不知這麼解釋明白不。?

13樓:龍__鳳

不會的,看程式的執行結果:

14樓:路過

你好,不會的。浮點型資料賦給整型時,浮點型就會被自動轉換成整型,整型只是整數部分。

希望能夠幫到你。

15樓:匿名使用者

不會,一般是給你強轉成整形了,小數位就沒了,四捨五入是不存在的

16樓:匿名使用者

不會,只會把整數部分賦給整型變數

17樓:匿名使用者

不會,比如float a=4.45 那麼 printf("%d",a);輸入為4,直接把小數點後面的數刪去,不是四捨五入

在c語言中怎樣表示一個既有整數又有浮點數的陣列

18樓:匿名使用者

都用浮點數啊!

浮點數也可以表示整數啊!

但整數沒辦法表示浮點數,會捨棄小數點後的數!

19樓:匿名使用者

先定義一個結構體,其中有float變數和bool變數,如果是純c,你可以用整形的0、1來取代bool變數作為判斷是否是整形的引數,然後用此結構體定義陣列,初始化的時候,如果數值為整形,則bool變數賦值為true或者是整形引數賦值為1(注意這裡的整形變數是你判斷的引數,不是給你用來存數值的),也可以反過來賦值為false或者0;如果是浮點型數值,則將bool變數或者你的整形變數賦值為和存整形數值時相反的標識(即存整形數值時,如果bool變數為true(false),則存浮點型數值時bool變數為false(true),整形引數的賦值同理)。在讀取數值時候,通過bool變數或者你的整形引數0、1來區別整形和浮點型,做個判斷,然後做個型別轉換。

這個應該是很容易的問題,多動動腦子,辦法總是會有的。

c語言中,將整型資料給浮點數變數賦值會出現什麼結果?

20樓:宿雨厭厭

如果沒bai

超出浮點數取值du範圍zhi,就正常

賦值dao

float num = 4; //合法

你可以試著執行專

下面的屬程式

float num1,num2;

num1 = sizeof(int);

num2 = sizeof(float);

printf("%f\n",num1);

printf("%f\n",num2);

21樓:

沒啥特別的結果,會自動資料型別轉換,還會報一個warning

c語言怎麼加密字元,C語言怎麼加密字元

自我程式設計 我沒注意只要小寫,我寫的是大小寫都可以的,另外附送輸入驗證。include include int main else printf 原字串為 s n加密後的字串為 s n str,str2 return 0 c語言本身是不能加密字元的,但你可以寫一個加密程式來加密。為敘述方便,不妨設...

C語言,怎樣將二維陣列存入檔案

玄清佳 int main 比如說你要把它存到一個檔案中。現在你要現在你的源程式的目錄下建立一個比如說是data.txt檔案 現在開始寫程式 file fp if fp fopen data.txt w null 出錯處理 for int i 0 i 2 i for int j 0 j 3 j fpr...

c語言如何理解「c將字元常量視為int型別而非char型別」這句話

每一個字元常量都對應一個ascii碼值,事實上c在記憶體中儲存的也是數值。每個字元常量在ascii碼錶中都能找到它對應的十進位制和十六進位制值,所以給字元變數賦值既可以用字元,也可以用數字。 金色潛鳥 char grade 8 這是宣告 grade 是 char 型變數,它的允許數值範圍 是 1位元...