数値を別の数値(私の場合はx * 90)に丸めようとしていますが、検索を行った後、次のコードのおかげで機能するようになりました。
round(number / 90) * 90;
問題は、これがそれを行うための最良の方法であるかどうかです。トライアル/エラーコードのように感じます。
数値を別の数値(私の場合はx * 90)に丸めようとしていますが、検索を行った後、次のコードのおかげで機能するようになりました。
round(number / 90) * 90;
問題は、これがそれを行うための最良の方法であるかどうかです。トライアル/エラーコードのように感じます。
それが正しいやり方です。ダブルスを丸める場合は、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]];
数値が整数であると仮定します
((number + (90/2))/90) * 90;
round()や友達を使用したい場合は、浮動小数点に変換する必要があります。上記はすべて整数で行います。いずれにせよ、これを行うための多くの方法(あなたの例では、リターンはフロートになりますが、整数サイズのものになります)。