私の iPhone アプリでは、整数を最も近い 5 の倍数に丸める必要があります。
例: ラウンド 6 から = 10、ラウンド 23 から = 25 など
編集
言い忘れましたが、切り上げたいだけです!すべての状況で、たとえば 22 は 25 に切り上げられます。
私の iPhone アプリでは、整数を最も近い 5 の倍数に丸める必要があります。
例: ラウンド 6 から = 10、ラウンド 23 から = 25 など
言い忘れましたが、切り上げたいだけです!すべての状況で、たとえば 22 は 25 に切り上げられます。
常に切り上げたい場合は、次を使用できます。
int a = 22;
int b = (a + 4) / 5 * 5; // b = 25;
float の場合は、次のようa
にキャストを追加する必要があります。int
int b = ((int)a + 4) / 5 * 5; // b = 25;
ceil
関数を使用して同じ結果を達成できることに注意してください。
int a = 22;
int b = ceil((float)a / 5) * 5; // b = 25;
古い答え:
の最も近い倍数に丸めるに5
は、次のようにします。
int a = 23;
int b = (int)(a + 2.5) / 5 * 5;
使用する :
int rounded = (i%5==0) ? i : i+5-(i%5);
例 :
for (int i=1; i<25; i++)
{
int k= (i%5==0) ? i : i+5-(i%5);
printf("i : %d => rounded : %d\n",i,k);
}
出力:
i : 1 => rounded : 5
i : 2 => rounded : 5
i : 3 => rounded : 5
i : 4 => rounded : 5
i : 5 => rounded : 5
i : 6 => rounded : 10
i : 7 => rounded : 10
i : 8 => rounded : 10
i : 9 => rounded : 10
i : 10 => rounded : 10
i : 11 => rounded : 15
i : 12 => rounded : 15
i : 13 => rounded : 15
i : 14 => rounded : 15
i : 15 => rounded : 15
i : 16 => rounded : 20
i : 17 => rounded : 20
i : 18 => rounded : 20
i : 19 => rounded : 20
i : 20 => rounded : 20
i : 21 => rounded : 25
i : 22 => rounded : 25
i : 23 => rounded : 25
i : 24 => rounded : 25
整数ソリューションの場合、丸めに4でバイアスされたmod5を使用します。
int i;
int i5;
i = 6;
i5 = i + 4 - ((i+4) % 5);
NSLog(@"i: %i, i5: %i", i, i5);
i = 22;
i5 = i + 4 - ((i+4) % 5);
NSLog(@"i: %i, i5: %i", i, i5);
NSLog output:
i:6、i5:10
i:22、i5:25
次の 5 の倍数に切り上げるには、たとえば、次のように使用できます。
(int) (5.0 * ceil((number/5.0)))
おそらく、この質問に対する別の回答は必要ありませんが、個人的には、こちらの方がすっきりしていると思います。
int ans = ceil(input / 5.0) * 5.0;
整数のみを四捨五入する必要があるため、num+5-(num%5)
十分なはずです。
古い回答
私はobjective-cについてあまり知りませんが、これで十分ではありません。
r = num%5
r > 2 ? num+5-r : n-r