在整数上执行数学运算的Objective-C问题
我有一行在计时器上运行的代码:在整数上执行数学运算的Objective-C问题,objective-c,floating-point,integer,Objective C,Floating Point,Integer,我有一行在计时器上运行的代码: NSLog( @" seconds: %i, elapsedhours %f", [self elapsedSeconds], [self elapsedSeconds] / 3600); 它打印出: seconds: 0, elapsedhours 0.000000 seconds: 1, elapsedhours 0.000000 seconds: 2, elapsedhours 0.000000 seconds: 3, elapsedhours 0.000
NSLog( @" seconds: %i, elapsedhours %f", [self elapsedSeconds], [self elapsedSeconds] / 3600);
它打印出:
seconds: 0, elapsedhours 0.000000
seconds: 1, elapsedhours 0.000000
seconds: 2, elapsedhours 0.000000
seconds: 3, elapsedhours 0.000000
我想知道为什么运行时间没有更新
elapsedSeconds的方法:
- (NSUInteger)elapsedSeconds;
{
NSUInteger seconds = 0;
if( ![self endDate] ) {
seconds = [[NSDate date] timeIntervalSinceDate: [self startDate]];
NSLog( @" startdate = %@ no end date %i", startDate, seconds );
}
else {
seconds = [[self endDate] timeIntervalSinceDate: [self startDate]];
}
return seconds;
}
你们还有什么需要看的吗
TIA因为您正在使用,它不计算小数部分,尽管您随后将其打印为浮点
如果要查看部分结果,应将其除以3600.0
。因为您使用的是,它不计算小数部分,尽管您随后将其打印为浮点
如果要查看部分结果,应将其除以
3600.0
。整数除以整数就是整数
所以1/3600
就是0
整数除以其他数就是其他数
所以
1/3600.0
是0.000277777
一个整数除以一个整数就是一个整数
所以1/3600
就是0
整数除以其他数就是其他数
所以
1/3600.0
就是0.00027777777
谢谢大家,就是这样!我来自PHP的国度,所有这些东西都是神奇地完成的。很难理解这些事情。谢谢你们,就是这样!我来自PHP的国度,所有这些东西都是神奇地完成的。我很难理解这些事情。