利用整数除法,它截断商的小数部分。要使其看起来像是四舍五入,请先添加 99。
int rounded = ((num + 99) / 100 ) * 100;
例子:
801: ((801 + 99) / 100) * 100 → 900 / 100 * 100 → 9 * 100 = 900
99 : ((99 + 99) / 100) * 100 → 198 / 100 * 100 → 1 * 100 = 100
14 : ((14 + 99) / 100) * 100 → 113 / 100 * 100 → 1 * 100 = 100
452: ((452 + 99) / 100) * 100 → 551 / 100 * 100 → 5 * 100 = 500
203: ((203 + 99) / 100) * 100 → 302 / 100 * 100 → 3 * 100 = 300
200: ((200 + 99) / 100) * 100 → 299 / 100 * 100 → 2 * 100 = 200
相关的 Java 语言规范引用,第 15.17.2 节:
整数除法四舍五入为 0。也就是说,对于二进制数值提升 (§5.6.2) 后为整数的操作数 n 和 d 生成的商是一个整数值 q,其大小在满足 |d ·q|≤ ||。