Java - 按四分之一间隔四舍五入
Java - rounding by quarter intervals
我 运行 关注以下问题...
java 中是否已经存在 'built-in' 函数来将给定的随机数四舍五入到最接近的下四分之一值。
这些是给定的随机数:
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;
}
您需要四舍五入为:
- 乘以 4
- 到下一个整数的楼层
- 除以 4
请注意,如果您使用可靠的值,最好使用 BigDecimal 而不是原始值(double
或 float
)。算法保持不变。
试试这个:
double value = 2.99D;
value = (double)(int)(value * 4) / 4;
我 运行 关注以下问题...
java 中是否已经存在 'built-in' 函数来将给定的随机数四舍五入到最接近的下四分之一值。
这些是给定的随机数:
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;
}
您需要四舍五入为:
- 乘以 4
- 到下一个整数的楼层
- 除以 4
请注意,如果您使用可靠的值,最好使用 BigDecimal 而不是原始值(double
或 float
)。算法保持不变。
试试这个:
double value = 2.99D;
value = (double)(int)(value * 4) / 4;