c語言強製取整
1. c語言取整
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函數可以用於你的問題。hyh的意見:int x,a,b,c,d;a=x/1000;b=x%1000/100。
2. c語言中的取整函數int語句怎麼用
C語言的取整是指將浮點數轉換為整數,即只取整數部分。
這個操作並不是通過函數實現的,而是C語言的強制類型轉換。
強制浮點數轉換為整數的規則為,只取浮點數的整數部分,無條件捨去小數部分。
形式為
(int)float_number
於是
(int)
1.3
的結果為1。
(int)
2.9999的結果為2。
另一種常見的取整需求為四捨五入到整數,可以通過
(int)(float_number+0.5)
的方式實現。
即
(int)(1.49+0.5)
=
(int)1.99
=
1;
(int)(2.5+0.5)=(int)(3.0)
=
3。
3. c語言的關於 : 對一個double型數據進行四捨五入運算
對double數據類型進行四捨五入運算,可以利用double轉為整型時強製取整來做到。
1
將double類型數據,強制轉換為int類型,會強制截取整數部分。
比如double
a
=
1.23;
(int)a的值就是1。
2
由於是強製取整,所以即使是1.9轉為int後,同樣是1,這與四捨五入的要求不符。所以可以轉換一下演算法,做(int)(a+0.5)就可以實現四捨五入到整數的效果了。
3
要實現四捨五入到某一位,可以先乘一個值,將該位移動到個位,取整後,再除上這個值,將其移動回去。
比如將double
a
=
1.2345四捨五入保留2位小數,可以寫作
(int)(a*100+0.5)/100.0。