如何只乘以十进制

时间:2011-09-04 23:24:05

标签: xcode time calculator

我正在使用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 :(得分:0)

我不完全确定你要求的是什么,但我想你想得到你的数字的小数部分。

要检索结果的小数部分,请使用floor

float fraction = result - floor(result);

结果:

      result   = 50.0 / 3

      fraction = 16.666666 - 16.000000

      fraction = 0.666666

从数字中减去数字的floor得出分数。 (floor函数剥离分数(向下舍入),允许您通过减法检索它。)

答案 1 :(得分:0)

我会猜你在问什么,因为我无法从你的问题中辨别出来。在我看来,你试图从时间和距离计算速度,并以时间/距离为单位显示它。如果您正在尝试这样做,那么您的代码应如下所示:

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);

如果那不是您正在做的事情,那么请澄清您的问题。