是的。你是对的。当然,这是一个重复的问题。在标记我的问题之前,请继续阅读下面的内容。
我想四舍五入一个浮点值,即
56.6748939 to 56.7
56.45678 to 56.5
56.234589 to 56.2
实际上它可以是任意数量的小数精度。但我想将其四舍五入到最接近的值。 (如果大于或等于5,则向上舍入,如果不大于或等于5,则向下舍入)。
我可以用下面的代码来做到这一点。
float value = 56.68899
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc]init];
[numberFormatter setMaximumFractionDigits:1];
[numberFormatter setRoundingMode:NSNumberFormatterRoundUp];
NSString *roundedString = [numberFormatter stringFromNumber:[NSNumber numberWithFloat:value]];
NSNumber *roundedNumber = [NSNumber numberFromString:roundedString];
float roundedValue = [roundedNumber floatValue];
上面的代码看起来是一个很长的过程。我有几个数字需要四舍五入。所以这个过程很难将浮点值转换为 NSNumber 、 NSString 、 NSNumber 和 float 。
还有其他简单的方法可以实现我的要求吗?
我对上面的代码还是有疑问。它说roundUp
。所以当谈到roundDown
,会起作用吗?
不能简单地乘以 10,四舍五入,然后除以 10 吗?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)