我有一个
float a = 1412.244019;
我需要将a四舍五入到最接近的第二位小数,例如1412.24000000。我知道如果我想要只显示两位小数,可以使用%.2f,但这并不是我的情况。出于数学原因,我需要新的浮点数a。
我尝试了一些在stackoverflow上找到的方法,但都没有成功。我使用的比较明显的一个方法如下,但仍然无法使用。你能看出问题出在哪里吗?
PS: 它有时会产生期望的效果,但并非总是,这让我深思...
提前感谢您。
代码:
float a = 1412.244019;
NSLog(@"a is %f", a); //output a is 1412.244019
a = [[NSString stringWithFormat:@"%.2f", a] floatValue];
NSLog(@"a is %f", a); //output a is 1412.239990
编辑:
看起来,在我使用上述手术后,当我使用浮点数a时,它认为它是1412.240000,尽管NSLog说得不同...奇怪。但我得到了我想要的结果,所以感谢浪费时间追逐无用之物 :)
编辑:我很想选择你们所有人作为正确答案,但由于我只能选择一个,我选择了最好的答案之一,并附加了解释(最后两个答案中的一个)。