浮點數強制轉換成整型為什麼只取整數部分

時間 2021-09-11 22:33:35

1樓:

float f=3.6712;

int i,j;

i=(int)f;//取整(只保留整數部分),這個是c語言規定,沒有什麼好解釋的。

j=(int)(f+0.5);//四捨五入;

2樓:匿名使用者

浮點數可以儲存小數部分,整數只能儲存整數,float a =0.123; int b =0;

b =(int)a; //這樣整型變數只能取a的整數部分,如果你想把浮點變數的小數

部分也儲存,比如a=0.123;想b=123,那麼就這樣;b=(int)(a*1000);

然後運算b的時候記住b需要除1000才是實際的值。

3樓:匿名使用者

呵呵,那現在你把自己想像成 c++ 之父,或者一款新的 c++ 編譯器的開發者,你覺得浮點數強制轉換成整型,只取整數部分是不是比較合理呢?如果不這麼做的話,有什麼做法可以更合理嗎?

人家寫編譯器的覺得這樣做比較合適,所以人家就這麼寫編譯器了。確實沒什麼好解釋的。

4樓:匿名使用者

int整型 只能用整數

轉化時不會四捨五入

一定要四捨五入 轉化前+0.5

5樓:死過九次的男人

整型數當然只有整數部分!

6樓:匿名使用者

因為整型就只保留整數部分,不懂的話去看看 資料結構的書

j**a中怎麼把浮點數轉變成整數只保留整數部分

7樓:匿名使用者

兩種方來式:

1、通過強制型別轉換源

float a=1.1f;//定義乙個浮點bai變數a

int b = (int)a;//這裡使用(int)方式對dufloat進行強轉

,結果zhi為1

2、通過轉換dao

為字串,在擷取整數部分

float a = 1.1f;//定義乙個浮點變數a

string str = string.valueof(a);//浮點變數a轉換為字串str

int idx = str.lastindexof(".");//查詢小數點的位置

string strnum = str.substring(0,idx);//擷取從字串開始到小數點位置的字串,就是整數部分

int num = integer.valueof(strnum);//把整數部分通過integer.valueof方法轉換為數字

8樓:匿名使用者

integer.valueof(浮點數),integer.oarseint(浮點數);

或long.valueof(浮點數)

9樓:匿名使用者

樓上正解

不過還可以直接強轉型別比如(int)

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

10樓:幻翼高達

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

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

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

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

11樓:

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

main()

float f=5.75;

執行程式,輸出結果為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型值可正可負,則轉換後也仍然保持原值, 只是資料的內部表示形式有所不同。

12樓:匿名使用者

強制型別轉換運算 比如

float a=3.5;

int c;

c=(int)a;

13樓:匿名使用者

c語言提供了強制型別轉換運算子,可以強制將乙個表示式的值轉換成所需型別。

例如:(double)a 可以把a強制轉換成double型的。

還有一種資料型別轉換是系統自動的。參考相關書籍即可。例如將乙個實型的資料賦給整型的變數時。系統自動把實數的整數部分賦給整型變數。

14樓:匿名使用者

直接進行強轉啊

double c = 1.2;

int a = int(c);不就可以了嗎

c語言中float型資料怎麼 取整數部分演算法 或取小數部分

15樓:蟲心菜

分析如下:來

一種簡單的辦源

法是直接強制轉換到int型就是整數部分。減去這個int型就是小數部分了。

**如下:

float n=12.223;

int x=(int)n;

float y=n-(float)x;

得出的x為資料的整數部分,y為資料的小數部分。

拓展資料

浮點型資料型別,float 資料型別用於儲存單精度浮點數或雙精度浮點數。浮點數使用 ieee(電氣和電子工程師協會)格式。浮點型別的單精度值具有 4 個位元組,包括乙個符號位、乙個 8 位 excess-127 二進位制指數和乙個 23 位尾數。

尾數表示乙個介於 1.0 和 2.0 之間的數。

由於尾數的高順序位始終為 1,因此它不是以數字形式儲存的。此表示形式為 float 型別提供了乙個大約在-3.4e+38 和 3.

4e+38 之間的範圍。

16樓:捐你妹

一種簡單的辦法是直接強制轉換到int型就是整數部分。

減去這個int型就是小數部分了。

17樓:

float x=1234.567,z;

long int y;

取整數部分: y = (int) x;

取小數部分: z = x - y;

18樓:匿名使用者

float n=12.223;

int x=(int)n;

float y=n-(float)x;

19樓:匿名使用者

小數取整

#include

void main()

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

程式猿3號 c語言有以下幾種取整方法 1 直接賦值給整數變數。如 int i 2.5 或 i int 2.5 這種方法採用的是捨去小數部分,能用於你的問題。2 c c 中的整數除法運算子 本身就有取整功能 int int 而下面介紹的取整函式返回值是double。整數除法對正數的取整是捨去小數部分,...

CAD圖紙轉換成PDF格式後為什麼文字卻顯示不出來?這是什麼

如果是用cad列印的方式轉的pdf,可以選帶字型檔的輸出,就不會出現不顯字的問題了。 nice山東草原狼 是不是字型顏色的問題,還是你的字型 在不能列印的圖層裡 或者是其他硬體原因 cad轉pdf后里面的字型看不到怎麼辦 我建議你可以把cd裡面的字型改小一點,或者說把他的字框拉大一點,間距什麼的調整...

PDF是什麼,為什麼PDF轉換成文字很麻煩

比如你把任意的 word excel ppt甚至是cad圖紙轉換成pdf格式以後,拿到任何的平台和系統上都能夠保持原樣的閱讀 只要安裝了pdf閱讀器 即使即時系統中沒有word使用過的字型樣式也依然不會影響到文件的排版等。這是優點,同時也是缺點。為了保證內容的無變化和盡可能的小體積,其它格式的文件轉...