2012-04-17 1 views
0

У меня есть два UILabels, который показывает числа. Они обновляются через UISteppers. Я хотел бы включить третий UILabel, который вычисляет деление между UILabel1 и UILabel2, когда пользователь нажимает на любой из UISteppers. (Два UILabels поэтому .text)Разделите числа на десятичные знаки от UILabels - xcode

Я знаю, что метод должен быть сделан, если оба IBAction из двух UISteppers, но у меня возникают проблемы, думая, как должен быть написано метод.

Есть ли у кого-нибудь идеи, как написать метод?

Спасибо.

обновить UILabel1

- (IBAction)smashChanged:(id)sender { 

self.smashLabel.text = [NSString stringWithFormat:@"%d", 
         [[NSNumber numberWithDouble:[(UIStepper *)sender value]] intValue]]; 
} 
+0

я обновляю Label1 и этикетки 2 по UIStepper. Поэтому коды действительно похожи. Пожалуйста, см. Выше ... Спасибо. –

ответ

3

Вы можете использовать метод floatValue (или intValue) из NSString:

float value1 = [self.label1.text floatValue]; 
float value2 = [self.label2.text floatValue]; 
float value = (value2 == 0.0) ? 0 : value1/value2; // This gives 0 if value2 is equal to 0 
self.label3.text = [NSString stringWithFormat:@"%.2f", value]; // 2 decimal places 
+0

Спасибо. Это работало как шарм. На данный момент, когда говорят, 1/0 label3 показывает 'inf'. Есть ли способ показать 0, а не inf? Кроме того, может ли он показывать до 2 десятичных знаков вместо этого? Благодарю. –

+0

См. Мой обновленный ответ. – sch

+0

Это прекрасно работает. Последний вопрос, есть ли способ, по которому я могу поместить знак «%» после значения? Так что пользователь сразу знает, что это процент. Или просто поместите метку рядом со значением с% на нее? Благодарю. –