我遇到以下問題四分之一區間四捨五入...爪哇 - 由
請問在java中圓給隨機數最接近的下四分之一值存在一個已經「內置」功能。
這些都是給定的隨機數:
2.00 -> 2.00
2.24 -> 2.00
2.25 -> 2.25
2.49 -> 2.25
2.50 -> 2.50
2.74 -> 2.50
2.75 -> 2.75
2.99 -> 2.75
3.00 -> 3.00
我遇到以下問題四分之一區間四捨五入...爪哇 - 由
請問在java中圓給隨機數最接近的下四分之一值存在一個已經「內置」功能。
這些都是給定的隨機數:
2.00 -> 2.00
2.24 -> 2.00
2.25 -> 2.25
2.49 -> 2.25
2.50 -> 2.50
2.74 -> 2.50
2.75 -> 2.75
2.99 -> 2.75
3.00 -> 3.00
你可以乘以4的值,那麼地板時再由4
public static double quarterRound(double v){
return Math.floor(v*4)/4;
}
您需要四捨五入到宿舍這樣劃分:
請注意,如果您可靠的測量值是與的BigDecimal,而不是原始值(double
或float
)更好的作品。算法保持不變。
試試這個:
double value = 2.99D;
value = (double)(int)(value * 4)/4;
權。我改變它。 –
在這個特定的實例中,二進制浮點可能會更好:乘以4和除以4是二進制浮點的精確操作(假定可以避免上溢和下溢),但可能會導致十進制浮點的舍入誤差。底線操作也是精確的(對於十進制和二進制浮點)。 –