2011-03-12 85 views
0

如何將浮點數四捨五入到小數點後三位?將浮點數舍入爲3dp?

我有這樣的:

(round(1000.0f * currentHue)/1000.0f) 

它這輪到小數點後3位,但留下了一堆在結束0的。

回答

4

大多數數字不能用浮點精確表示。如果你需要精確的選擇合適的科學圖書館。如果你想打印它很好,使用格式化器 -

NSLog(@"%.3f", currentHue); 
1

這是一個相當毛茸茸的方式來做到這一點......但它應該工作。

float x = [[NSString stringWithFormat:@"%1.3f",(round(1000.0f * currentHue)/1000.0f)] floatValue];