0

2 つの日付の時差を計算し、その値を 1 桁の精度の 10 進数形式で格納できるようにする必要があります。したがって、時差が 6 分の場合は .1 を返す必要があり、3 分の場合でも .1 を返す必要がありますが、7 分または 12 分の場合は .2 を返す必要があります。時差の減算は正しく機能しています。

NSTimeInterval interval = [currentFlight.landtime timeIntervalSinceDate:currentFlight.takeofftime];

これは期待どおりに返されるため、差が 6 (分) の場合、返される値は 0.100000 です。

また、この値を でユーザーに表示する必要がありますUILabel。この数値フォーマッタを使用すると、0.100000 が .1 ではなく .2 として表示されます。

NSNumberFormatter *ftDecimalFormatter = [[NSNumberFormatter alloc] init];
[ftDecimalFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
[ftDecimalFormatter setMaximumFractionDigits:1];
[ftDecimalFormatter setMinimumFractionDigits:1];
[ftDecimalFormatter setRoundingMode:NSNumberFormatterRoundUp];

さまざまな丸め方法をすべて試しましたが、どれもうまくいかないようです。助言がありますか?

4

1 に答える 1

0

数値に 10 を掛け、0.9999999999999 を足し、小数部分 (つまり床) を切り捨て、10 で割ります。 [他の方法でも同じ結果が得られますが、これは 1 つの方法です。 10 進数 1 桁を指定しますよね?

于 2012-07-27T20:43:55.177 に答える