我正在尋找一些java math.round公式,它將next轉換爲最接近的5000值。 假設如果值是15555,則應將其轉換爲20000.如果該值爲18555,則該值也應轉換爲20000(因爲這應該給出下一個5000範圍)。 到目前爲止,我想這一點:Java向下循環5000
Math.round(value/ 5000.0) * 5000.0)
但如果值是15555,這給了我15000。我想這是20000
我正在尋找一些java math.round公式,它將next轉換爲最接近的5000值。 假設如果值是15555,則應將其轉換爲20000.如果該值爲18555,則該值也應轉換爲20000(因爲這應該給出下一個5000範圍)。 到目前爲止,我想這一點:Java向下循環5000
Math.round(value/ 5000.0) * 5000.0)
但如果值是15555,這給了我15000。我想這是20000
你再想找Math.ceil()
,不Math.round()
Math.ceil(value/ 5000.0) * 5000.0
我可能會更喜歡使用OPERAT基本整數(假設value
是一個非負整數):
int remainder = value % 5000;
int result = remainder == 0 ? value : value - remainder + 5000;
您是否注意到不平衡括號?我相信OP想要'(int)Math.ceil(值/ 5000.0)* 5000;' –
@ElliottFrisch:謝謝你的提示。的確,我沒有注意到:-) –