我需要能够计算两个日期之间的时间差,然后以一位精度十进制格式存储该值。所以如果时差是 6 分钟我需要返回 0.1,如果是 3 分钟我仍然需要返回 0.1,但如果是 7 分钟或 12 分钟,我需要返回 0.2。时间差的减法工作正常:
NSTimeInterval interval = [currentFlight.landtime timeIntervalSinceDate:currentFlight.takeofftime];
这会按预期返回,因此如果差值为 6(分钟),我得到的值为 0.100000。
我还需要在UILabel
. 当我使用这个数字格式化程序时,0.100000 显示为 .2 而不是 .1:
NSNumberFormatter *ftDecimalFormatter = [[NSNumberFormatter alloc] init];
[ftDecimalFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
[ftDecimalFormatter setMaximumFractionDigits:1];
[ftDecimalFormatter setMinimumFractionDigits:1];
[ftDecimalFormatter setRoundingMode:NSNumberFormatterRoundUp];
我已经尝试了所有不同的舍入方法,但似乎没有一个有效。有什么建议么?