2012-11-23 125 views
1

可能重複:
Is there a function to round a float in C or do I need to write my own?
Rounding Number to 2 Decimal Places in C如何將浮點數舍入到小數點後的特定位數?

我要尋找一個在C函數可以在小數點後我的浮點變量四捨五入到另一個浮點型變量有兩個數字,幫助並請示範。 謝謝

更新: 我需要這個功能進行計算的目的,不用於打印。

+1

出於好奇,這只是打印出來的控制檯?或者爲了一些計算? – Cornstalks

+0

計算 – daNullSet

+2

請參閱http://stackoverflow.com/questions/497018/is-there-a-function-to-round-a-float-in-c-or-do-i-need-to-write-my -擁有。特別注意浮點數不完全對應小數;如果你關心內部的表示,你可能需要一個適當的固定精度小數。 – isturdy

回答

4

,你可以嘗試這樣的事:的

float a = 1.234568; 
float b = ((int) a*100.f)/100.f; 

代替(int)您可以根據您的要求使用floor()/ceil()

+0

我是編程新手,除了: 100.f應該做什麼? – daNullSet

+0

'100.f'是浮點數100.0,如果你只寫了100.0,它將被認爲是'double',你可能會得到類型轉換警告。 – lenik

相關問題