我想在Java中将整数向下舍入到最接近的1000。
例如:
例如:
- 13,623 舍入为 13,000
- 18,999 舍入为 18,000
- 等等
将数值除以1000即可舍去你不感兴趣的数字,并乘以1000:
i = i/1000 * 1000
或者,你也可以尝试:
i = i - (i % 1000)
i % 10
)的一种方法。
至于缩短版本 - 那可能是我在我的代码中要做的事情,但我希望在这里清楚明确。 - abyxint i = Math.floorDiv(-13623, 1000) * 1000
//i => -14000
i = i/1000 * 1000
)在i
为正数时向下取整,在i
为负数时向上取整。-13623 / 1000 * 1000 == -13000
还有一个适用于long
类型的Math.floorDiv
版本,可处理非常大的数字,在double
精度可能导致Math.floor
方法失败的情况下使用。
还有与floorDiv
一起使用的Math.floorMod
方法,可以帮助您缩短代码:
int i = -13623;
i -= Math.floorMod(i, 1000);
//i => -14000