Java - 按季度舍入

时间:2015-08-28 15:43:21

标签: java math numbers rounding

我遇到了以下问题...

是否已经内置了'函数存在于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

3 个答案:

答案 0 :(得分:7)

您可以将该值乘以4然后将其乘以4然后除以。

public static double quarterRound(double v){
   return Math.floor(v*4)/4;
}

答案 1 :(得分:3)

你需要四舍五入到所以:

  • 乘以4
  • Floor to next int
  • 除以4

请注意,如果您使用可靠的值,最好使用 BigDecimal 而不是原始值(doublefloat)。算法保持不变。

答案 2 :(得分:0)

试试这个:

double value = 2.99D;
value = (double)(int)(value * 4) / 4;