1

数値を別の数値(私の場合はx * 90)に丸めようとしていますが、検索を行った後、次のコードのおかげで機能するようになりました。

round(number / 90) * 90;

問題は、これがそれを行うための最良の方法であるかどうかです。トライアル/エラーコードのように感じます。

4

2 に答える 2

2

それが正しいやり方です。ダブルスを丸める場合は、NSNumberFormatter:を使用する必要があります。

float roundedValue = round(number / 90) * 90;
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setMaximumFractionDigits:1];
[formatter setRoundingMode: NSNumberFormatterRoundDown];

NSString *numberString = [formatter stringFromNumber:[NSNumber numberWithFloat:roundedValue]];
于 2012-07-31T15:02:03.267 に答える
2

数値が整数であると仮定します

((number + (90/2))/90) * 90;

round()や友達を使用したい場合は、浮動小数点に変換する必要があります。上記はすべて整数で行います。いずれにせよ、これを行うための多くの方法(あなたの例では、リターンはフロートになりますが、整数サイズのものになります)。

于 2012-07-31T15:04:58.563 に答える