c語言如何把整型轉換成浮點數,C語言如何把整型轉換成浮點數?

2021-09-11 19:11:07 字數 5858 閱讀 9934

1樓:程式猿3號

c語言有以下幾種取整方法:

1、直接賦值給整數變數。如:

int i = 2.5; 或 i = (int) 2.5;

這種方法採用的是捨去小數部分,能用於你的問題。

2、c/c++中的整數除法運算子“/”本身就有取整功能(int / int),而下面介紹的取整函式返回值是double。整數除法對正數的取整是捨去小數部分,能用於你的問題。不過整數除法對負數的取整結果和使用的c編譯器有關。

3、使用floor函式。floor(x)返回的是小於或等於x的最大整數。如:

floor(2.5) = 2

floor(-2.5) = -3

4、使用ceil函式。ceil(x)返回的是大於x的最小整數。如:

ceil(2.5) = 3

ceil(-2.5) = -2

floor()是向負無窮大舍入,floor(-2.5) = -3;ceil()是向正無窮大舍入,ceil(-2.5) = -2。floor函式能用於你的問題。

5、int b = (int)a;//取整int c = (int)(a+0.5);//四捨五入

2樓:匿名使用者

型別強制轉換運算子 ( ) 沒學過嚒

(目標型別)現有型別

3樓:鄒棋

#include

main()

方法類似

c語言 怎樣將無符號整型轉換成浮點型

4樓:匿名使用者

c語言中來

無符號整型轉源換成浮點型方法bai

如下:unsigned int x=123;

1、輸出強制轉換,du如:

printf("%f", x ); //這樣的輸出因為zhi%f與x的類dao型不同,導致輸出資料異常

printf("%f", (float)x ); //強制轉換成浮點型,可正確輸出

2、儲存到相應的變數中,如:

float fval;

fval=x ; //系統會隱式轉換 因float的有效數位最大為7位,所以,並不是所有整數都可以用float型別變數來表示,所以,最好使用double型別來儲存任意的整數

printf("%f", fval ); //輸出正常double dval;

dval=x ; //系統會隱式轉換

printf("%f", dval ); //輸出正常

5樓:匿名使用者

使用強制型別轉換,如:

int a;

(float)a就表示把int型別的a強制轉換成float型。

但是a一旦定義成int型,就不能改變a自身的資料型別。

6樓:谷歌三下也知道

一個最簡單的轉換例子,希望能版

幫到你權

#include

void main()

c語言浮點型轉換為整型怎麼轉換的?

7樓:匿名使用者

第一種是bai利用系統預設的轉換,du即將小數部分zhi截去dao,僅保留整數部分回,如3.6轉換答為3,-5.68轉換為5。

第二種是強制型別轉換,效果與第一種相同,如(int)(-6.666)為-6。

如有其他特殊要求,則需要程式設計解決。

8樓:匿名使用者

c語言中沒有四捨五入,將浮點型轉換成整形時,只保留小數點前面的數值

9樓:匿名使用者

float ftemp;

不要後面bai

的=0;因為一旦你分配du給ftemp了值,它zhi是無法通過dao鍵盤寫入的方式賦給

回的,因為空答間已經被佔用。這不是a=b+c這樣表示式的賦值。

暈,難道要我把源**給你你直接複製?

那就給你吧!

#include

void main()

隨便輸入一個數,然後回車,看結果

10樓:程式猿3號

c語言復有以下幾種取整方法:

1、直接制賦值給整bai

數變數。如:

int i = 2.5; 或 i = (int) 2.5;

這種du方法採用的zhi是捨去小數部分,能dao用於你的問題。

2、c/c++中的整數除法運算子“/”本身就有取整功能(int / int),而下面介紹的取整函式返回值是double。整數除法對正數的取整是捨去小數部分,能用於你的問題。不過整數除法對負數的取整結果和使用的c編譯器有關。

3、使用floor函式。floor(x)返回的是小於或等於x的最大整數。如:

floor(2.5) = 2

floor(-2.5) = -3

4、使用ceil函式。ceil(x)返回的是大於x的最小整數。如:

ceil(2.5) = 3

ceil(-2.5) = -2

floor()是向負無窮大舍入,floor(-2.5) = -3;ceil()是向正無窮大舍入,ceil(-2.5) = -2。floor函式能用於你的問題。

5、int b = (int)a;//取整int c = (int)(a+0.5);//四捨五入

c語言的浮點型怎麼轉換為整型?

11樓:幻翼高達

c語言中,浮點型轉換為整型可以用:強制型別轉換、自動型別轉換,例如:(int)3.14、int a = 3.14。

1、強制型別轉換

強制型別轉換是通過型別轉換運算來實現的。其一般形式為:(型別說明符)(表示式),其功能是把表示式的運算結果強制轉換成型別說明符所表示的型別。

例如: (double) a 把a轉換為雙精度浮點型,(int)(x+y) 把x+y的結果轉換為整型。

2、自動型別轉換

(1)執行算術運算時,低型別(短位元組)可以轉換為高型別(長位元組);例如: int型轉換成double型,char型轉換成int型等。

(2)賦值表示式中,等號右邊表示式的值的型別自動隱式地轉換為左邊變數的型別,並賦值給它。

(3)函式呼叫時,將實參的值傳遞給形參,系統首先會自動隱式地把實參的值的型別轉換為形參的型別,然後再賦值給形參。

(4)函式有返回值時,系統首先會自動隱式地將返回表示式的值的型別轉換為函式的返回型別,然後再賦值給呼叫函式返回。

12樓:程式猿3號

c語言有以下幾種取整方法:

1、直接賦值給整數變數。如:

int i = 2.5; 或 i = (int) 2.5;

這種方法採用的是捨去小數部分,能用於你的問題。

2、c/c++中的整數除法運算子“/”本身就有取整功能(int / int),而下面介紹的取整函式返回值是double。整數除法對正數的取整是捨去小數部分,能用於你的問題。不過整數除法對負數的取整結果和使用的c編譯器有關。

3、使用floor函式。floor(x)返回的是小於或等於x的最大整數。如:

floor(2.5) = 2

floor(-2.5) = -3

4、使用ceil函式。ceil(x)返回的是大於x的最小整數。如:

ceil(2.5) = 3

ceil(-2.5) = -2

floor()是向負無窮大舍入,floor(-2.5) = -3;ceil()是向正無窮大舍入,ceil(-2.5) = -2。floor函式能用於你的問題。

5、int b = (int)a;//取整int c = (int)(a+0.5);//四捨五入

13樓:步成文赤豪

c語言中沒有四捨五入,將浮點型轉換成整形時,只保留小數點前面的數值

14樓:匿名使用者

float ftemp;

不要後面的=0;因為一旦你分配給ftemp了值,它是無法通過鍵盤寫入的方式

賦給的,因為空間已經被佔用。這不是a=b+c這樣表示式的賦值。

暈,難道要我把源**給你你直接複製?

那就給你吧!

#include

void main()

隨便輸入一個數,然後回車,看結果

15樓:匿名使用者

可通過強制型別轉換或賦值過程中自動轉換。

強制型別轉換。c語言提供強制型別轉換符,其可表示為(型別),該操作符具有從右向左的結合型,用法示例為“(型別)變數”,則對應變數被轉換為括號中 的型別,因此想把浮點型轉換為整型時,括號中使用int即可:

如果直接把浮點型變數賦值給整型,其會自動轉換為整型:

但是注意當float型變數轉換為整型時,小數部分被捨棄,但不會遵循四捨五入的原則,如果浮點型別的值過大,超過整型所能容納的範圍,則結果是不確定的。

c語言中怎麼把整形轉化成浮點型,就是我用的時候要用小數進行運算?

16樓:匿名使用者

強制轉換就行了。

int a,b;(float)a這樣就轉換成了浮點型。

一個例子:(float)a+(float)

17樓:匿名使用者

強制型別轉換 (double)(要轉換的數)

18樓:

強制型別轉換

int a;

float b;

b=((float)a)/3;

在c語言中,如何將一個浮點數變換成整數?

19樓:幻翼高達

需要準備的材料分別有:電腦、c語言編譯器。

1、首先,開啟c語言編譯器,新建一個初始.cpp檔案,例如:test.cpp。

2、在test.cpp檔案中,輸入c語言**:double a = 2.71828;printf("%d", int(a));。

3、編譯器執行test.cpp檔案,此時成功將浮點數2.71828轉換為了整數2。

20樓:

在c語言中,將一個浮點數變換成整數的示例:

main()

float f=5.75;

printf("f=%d,f=%f\n",(int)f,f);

執行程式,輸出結果為f=5,f=5.750000。 f=5即為由浮點數轉化出的整數。

上述示例中f雖強制轉為int型,但只在運算中起作用, 是臨時的,而f本身的型別並不改變。因此,(int)f的值為 5(刪去了小數)而f的值仍為5.75。

擴充套件資料

c語言中賦值中的型別轉換規則

當賦值運算子兩邊的運算物件型別不同時,將要發生型別轉換, 轉換的規則是:把賦值運算子右側表示式的型別轉換為左側變數的型別。具體的轉換如下:

(1) 浮點型與整型

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

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

(2) 單、雙精度浮點型

由於c語言中的浮點值總是用雙精度表示的,所以float 型資料只是在尾部加0延長為double型資料參加運算,然後直接賦值。double型資料轉換為float型時,通過截尾數來實現,截斷前要進行四捨五入操作。

(3) char型與int型

int型數值賦給char型變數時,只保留其最低8位,高位部分捨棄。

char型數值賦給int型變數時, 一些編譯程式不管其值大小都作正數處理,而另一些編譯程式在轉換時,若char型資料值大於127,就作為負數處理。

對於使用者來講,如果原來char型資料取正值,轉換後仍為正值;如果原來char型值可正可負,則轉換後也仍然保持原值, 只是資料的內部表示形式有所不同。

C 如何輸出浮點數,C 如何用cout控制浮點數輸出的位數?

cout 預設輸出格式相當於 c 裡 g 格式 簡略格式,例如 123.00000 輸出為 123 123.450000 輸出為123.45 用 cout fixed 預設輸出格式相當於 c 裡 f 和 lf 格式 如果想指定 輸出小數字數,則要 加 標頭檔案 include 呼叫 setpreci...

c中使用過載方法實現整數,長整型和浮點數求絕對值計算

你過載哪個類的哪個方法也不說一下。那我自專己取名叫abs了 public static int abs int i public static long abs long i public static float abs float i c語言中,對浮點數求絕對值的庫函式是什麼?就是怎麼對乙個浮點...

c怎麼把字元轉換成數字C,怎麼把字元轉換成數字

一 可以用c 的stringstream。主要原因是操作簡單。數字轉字串,int float型別 同理 字串轉數字,int float型別 同理 二 使用sprintf 函式 char str 10 int a 1234321 sprintf str,d a char str 10 double a...