はい。あなたが正しいです。もちろん、これは重複した質問です。私の質問にフラグを立てる前に、以下を読み続けてください。
float 値を丸めたいのですが、これは
56.6748939 to 56.7
56.45678 to 56.5
56.234589 to 56.2
実際には、任意の数の小数精度にすることができます。しかし、私はそれを最も近い値に丸めたいと思っています。(5以上なら切り上げ、そうでなければ切り捨て)。
以下のコードでそれを行うことができます。
float value = 56.68899
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc]init];
[numberFormatter setMaximumFractionDigits:1];
[numberFormatter setRoundingMode:NSNumberFormatterRoundUp];
NSString *roundedString = [numberFormatter stringFromNumber:[NSNumber numberWithFloat:value]];
NSNumber *roundedNumber = [NSNumber numberFromString:roundedString];
float roundedValue = [roundedNumber floatValue];
上記のコードは長いプロセスのように見えます。四捨五入する数がいくつかあります。したがって、このプロセスでは、float 値を NSNumber と NSString と NSNumber と float に変換するのは困難です。
私が尋ねたことを達成する他の簡単な方法はありますか?
上記のコードにはまだ疑問があります。それは言いroundUp
ます。それで、それはroundDown
うまくいくでしょうか?