我有一个
float a = 1412.244019;
我需要将 a 四舍五入到最接近的小数点后二位,例如 1412.24000000。我知道如果我只想用两位小数表示 a,我会使用 %.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 说的不同......奇怪。但我得到了我想要的东西,所以浪费时间什么都不追了:)
编辑我很乐意选择你们所有人作为正确答案,但由于我只能选择一个,我选择了第一个带有额外解释的好答案(最后两个)。