Как умножить только десятичное - PullRequest
1 голос
/ 05 сентября 2011

Я использую iOS, и я хочу иметь возможность умножить десятичную дробь после того, как один ответ будет решен.Это то, что у меня есть:

float minutes = ([time.text floatValue]);
float distance = minutes/([miles.text floatValue]);

label.text = [[NSString alloc] initWithFormat:@"%.2f", distance];

Можно ли просто умножить остаток на 60 после того, как это будет сделано?Например, если я ставлю 50, деленное на 3, это дает мне 16,66 в качестве ответа.Я хочу умножить это .66.

Ответы [ 2 ]

0 голосов
/ 05 сентября 2011

Я собираюсь угадать, о чем вы спрашиваете, поскольку не могу отличить это от вашего вопроса. Мне кажется, что вы пытаетесь рассчитать темп из времени и расстояния и отображать его в единицах времени / расстояния. Если это то, что вы пытаетесь сделать, то ваш код должен выглядеть примерно так:

float mins = [time.text floatValue];
float dist = [miles.text floatValue];
float pace = mins/dist;

Чтобы правильно отобразить темп в формате min:sec, вы можете сделать это:

int minutes = (int)pace; // casting truncates the decimal part
int seconds = (int)((pace - minutes) * 60);

Теперь вы можете отображать темп с

NSLog(@"%d:%d",minutes,seconds);

Если вы этим не занимаетесь, уточните, пожалуйста, свой вопрос.

0 голосов
/ 05 сентября 2011

Я не совсем уверен, что вы просите, но я думаю, что вы хотите получить дробную часть вашего номера.

Чтобы получить дробную часть результата, используйте floor:

float fraction = result - floor(result);

Результаты:

      result   = 50.0 / 3

      fraction = 16.666666 - 16.000000

      fraction = 0.666666

Вычитание floor числа из числа дает дробь. (Функция floor снимает дробь (округляя), позволяя получить ее вычитанием.)

...