У меня есть
float a = 1412.244019;
и мне нужно округлить до ближайшего второго десятичного знака, например 1412.24000000. Я понимаю, что если я хочу представить a только с двумя десятичными знаками, я использую%.2f, но это не так. Мне нужен новый а по математическим соображениям как плавающий.
Я попробовал несколько методов, найденных в 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
EDIT:
СМОТРЕТЬ, например, когда я использую float a после вышеупомянутой операции, он рассматривает это как 1412.240000, хотя NSLog говорит по-другому... странно. Но я получаю то, что хочу, поэтому Kudos за потраченное впустую время не преследует ничего:)
РЕДАКТИРОВАТЬ Я хотел бы выбрать вас всех как правильные ответы, но так как я могу выбрать только один, я выбрал первый хороший ответ с дополнительным объяснением (из двух последних).