2012-01-01 2 views
2

Я знаю, что это задавали много раз, но я честно искал, и у меня все еще возникают проблемы с этой работой. Я не очень хорошо разбираюсь в кодировании, поскольку я только начинаю учиться и учить себя. Я просмотрел библиотеку разработчика и все ответы здесь и в Google, но у меня возникают проблемы с этой работой. Много информации, с которой я, похоже, сталкиваюсь, - это более старые версии IOS и Xcode. Мне нужно, чтобы число отображалось только после десятичного. Например, если выход 90.909090, мне нужно, чтобы он показывал 90.90 или 90.91. Это работает, но выход показывает только 0.00, он не читает float. Я знаю, что вывод этого только показывает NSString stringWithFormat: @ "%. 2f" в текстовом файле weightkg. У меня возникают проблемы с ссылкой на float, чтобы показать в этом формате.Xcode 4.2 десятичные разряды

- (IBAction)calculateweight:(id)sender { 
    float wl = ([weightlbs.text floatValue]); 
    float wt = (wl/2.2); 

    weightkg.text = [[NSNumber numberWithFloat:wt] stringValue]; 
[weightkg setText:[NSString stringWithFormat:@"%.2f"]]; 

} 
+2

Возможно, вам захочется узнать разницу между «Xcode» и «Objective-C» ... –

+0

Эта функциональность в основном поднимается прямо из C. Вы можете прочитать строки формата, запустив 'man 3 printf' из команды линия; тот же формат (с добавлением пары) используется для 'stringWithFormat:'. –

ответ

8

Вы не передаете значение float в stringWithFormat, попробуйте это.

- (IBAction)calculateweight:(id)sender { 
    float wl = ([weightlbs.text floatValue]); 
    float wt = (wl/2.2); 

[weightkg setText:[NSString stringWithFormat:@"%.2f", wt]]; 

} 
+0

Спасибо, что работал точно так, как мне это нужно. Я уже пробовал что-то подобное раньше, но я все еще пытался использовать NSNumber numberWithFloat вместо использования NSString stringWithFormat и получения ошибок. – Jasonwilliams10

4

Вы должны использовать:

float wt = ...; 
weightkg.text = [NSString stringWithFormat:@"%.2f", wt]; 

То есть, вы должны передать значение переменной для вашего stringWithFormat вызова.