我想在Java中将整数舍入到最接近的1000。
例如:
答案 0 :(得分:51)
只需除以1000即可丢失对您不感兴趣的数字,并乘以1000:
i = i/1000 * 1000
或者,您也可以尝试:
i = i - (i % 1000)
答案 1 :(得分:12)
您可以将数字除以1000,应用Math.floor
,乘以1000并转换回整数。
答案 2 :(得分:0)
int i = Math.floorDiv(-13623, 1000) * 1000
//i => -14000
假设除数(示例中为1000)为正,则以上代码将始终舍入(朝负无穷大)。
当i = i/1000 * 1000
为正时,另一个答案(i
)向下舍入,而当i
为负时,另一个答案(-13623 / 1000 * 1000 == -13000
)舍入。
Math.floorDiv
对于long
,还有一个Math.floor
版本,该版本将适用于非常大的数字,其中double
方法可能由于Math.floorMod
的精度而失败。 / p>
还有floorDiv
个与int i = -13623;
i -= Math.floorMod(i, 1000);
//i => -14000
一起使用的方法,这些方法可能使您将其缩短一点:
df = pd.DataFrame()
df['Index'] = [1, 2, 3]
df['Column1'] = ['path1', 'path2', 'path3']
df['Column2'] = ['[\'red\']', '[\'red\' \'blue\']', '[\'blue\']']