2011-03-12 83 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];