回答
只需:
public static long roundEven(double d) {
return Math.round(d/2) * 2;
}
給出:
System.out.println(roundEven(2.999)); // 2
System.out.println(roundEven(3.001)); // 4
是的!非常感謝! – Jannis
double foo = 3.7754;
int nextEven;
if (((int)foo)%2 == 0)
nextEven = (int)foo;
else
nextEven = ((int)foo) + 1;
可能會做什麼你需要
不適用於4.8 –
@MuratK。是的,它的確如此......它給出了4個想要的。他不希望數字四捨五入,但他希望得到下一個偶數^^ –
@MuratK。根據SO 2.7657將成爲2.所以4.8應該成爲4 ...這是最接近的偶數,但不幸的是,我不允許使用if/else來處理4.8 –
嘗試Math.ceil(...)
int roundToNextEven(double d) {
int hlp = (int)Math.ceil(d);
if (hlp%2 == 0)
return hlp;
return hlp-1;
}
的想法是,如果下一個上限浮動甚至沒有,我們必須舍入到地面,而不是四捨五入到小區。
您還可以使用Math.floor(...)
..唯一的區別是,你必須四捨五入到小區(加1的結果),如果樓層不連
int roundToNextEven(double d) {
int hlp = (int)Math.floor(d);
if (hlp%2 == 0)
return hlp;
return hlp+1;
}
- 1. 如何將小數點四捨五入到SQL中最接近的偶數?
- 2. 在Java中將double減少到其他double的最接近倍數?
- 3. 如何找到最接近的偶數給定的int? (給定11返回12)
- 4. javascript:我如何將一個數字舍入到最接近的10美分?
- 5. 如何將一個數字四捨五入到最接近的x增量值
- 6. 如何將一個整數舍入到Pascal中最接近的1000?
- 7. 找到最接近的一個小時
- 8. 增加一倍到下一個最接近的值?
- 9. 你會如何在Swift 3中將浮點值向上或向下舍入到最接近的偶數整數?
- 10. 如何在添加到Map時將double數組添加到Double數組?
- 11. 如何將數字四捨五入到最接近的.5?
- 12. 如何找到一個最接近的街道
- 13. 如何找到哪個值最接近C中的數字?
- 14. 如何將小數點四捨五入到最接近的八分之一C
- 15. 四捨五入到最接近的下一個數字
- 16. 向上舍入一個雙精度到最接近的整數
- 17. 計算一個值並舍入到最接近的整數
- 18. 追加和最接近的每個div
- 19. 如何將數值向上舍入到數字的最接近係數
- 20. 如何將十進制值舍入到最接近的0.05值?
- 21. 如何將浮點四捨五入到最接近的.001
- 22. 點擊一個鏈接,並找到最接近的元素
- 23. 將十進制小數加到10的最接近的倍數,用php
- 24. 選擇一個最接近的元素
- 25. Round BigDecimal到最接近的整數值
- 26. JavaScript取整到最接近的整數
- 27. SQL找到最接近的數字
- 28. 圓整數到最接近0.2的PHP
- 29. ,如何將我找到一個數組最接近的匹配,到指定號碼
- 30. 我如何總是將十進制值整數到最接近的整數值?
的[可能的複製圓浮點數到下一個整數值在java](http://stackoverflow.com/questions/8753959/round-a-floating-point-number-to-the-next-integer-value-in-java) –
爲什麼' 489.5435'被提升到下一個整數值,但是'2.7657'只獲得整數部分評估? – npinti
已經試過'Math.ceil(double)'? – pelumi