2010-07-07 2 views
6

В приложении iphone у меня есть 2 больших номера, хранящихся в NSStrings, и я хочу выяснить число с плавающей точкой, которое достигается путем их деления.Разделите длинное длинное число как процент

Прямо сейчас, у меня есть:

unsigned long long number = [string1 longLongValue];
unsigned long long number2 = [string2 longLongValue];
float percent = number/number2;
[textField setText:[NSString stringWithFormat: @"%f%%",percent]];

(я предполагаю, что я должен использовать «без знака долго долго» вместо Интс, потому что числа в NSStrings довольно высокого первый является 309681754 и второй - 6,854,433,820)

Однако после этого я всегда получаю 0% в текстовом поле. Что я делаю не так?

Благодарим за любую помощь заранее.

ответ

20

Вы делите целые числа. Это всегда приводит к целому числу.

Что вам нужно сделать, это бросить их в поплавки перед делением. Это должно работать:

float percent = (float)number/(float)number2; 
+0

Спасибо, что сделал трюк. Если бы я хотел, чтобы результат был в процентном формате, как бы я переместил десятичную точку? – element119

+0

Например, я получаю .04518, и я хочу, чтобы это было 4.518% – element119

+16

@golfromeo: Серьезно? Вы спрашиваете, как * переместить десятичную точку *? Вздох. Умножьте на 100. –

Смежные вопросы