利用整数除法会截断商的小数部分。为了使其看起来像是四舍五入,首先添加99。
int rounded = ((num + 99) / 100 ) * 100;
例子:
801: ((801 + 99) / 100) * 100 → 900 / 100 * 100 → 9 * 100 = 90099 : ((99 + 99) / 100) * 100 → 198 / 100 * 100 → 1 * 100 = 10014 : ((14 + 99) / 100) * 100 → 113 / 100 * 100 → 1 * 100 = 100452: ((452 + 99) / 100) * 100 → 551 / 100 * 100 → 5 * 100 = 500203: ((203 + 99) / 100) * 100 → 302 / 100 * 100 → 3 * 100 = 300200: ((200 + 99) / 100) * 100 → 299 / 100 * 100 → 2 * 100 = 200
相关Java语言规范报价,第15.17.2节:
整数除法将取整为0。即,在二进制数值提升(第5.6.2节)之后为操作数n和d生成的商是整数值q,其大小应尽可能大,同时满足| d·q | ≤| n |。



