如何在目标C中将float格式化为2位小数

时间:2010-04-29 02:23:26

标签: objective-c iphone xcode

我有一个字符串,我正在转换为一个浮点数,我想在if语句中检查值。

原始浮点值是从didUpdateHeading方法返回的iPhone的trueHeading。当我使用@“%。2f”将原始浮点数转换为字符串时,它可以正常工作,但我要做的是将原始浮点数转换为相同的值。如果我只是将字符串转换为[string floatValue],我得到相同的原始浮点数,我不希望这样。

为了简化和简单,我如何获取现有的浮点值并获得前2位小数?

2 个答案:

答案 0 :(得分:8)

round( x * 100.0 ) / 100.0;

答案 1 :(得分:2)

float x = 123.45678;
int x1 = x * 100.0;
float x2 = (float) x1 / 100.0;

或者如果单线首选

float x3 = (float) ((int) (x * 100.0)) / 100.0;