怎么一个比一个概括阿,去查了,好像看到一个 public MathContext(int setPrecision, RoundingMode setRoundingMode) 可是第一个参数是int型,不是我要的
Redduke,我的例子的意思是比11.8125大的最近的0.05,所以是11.85
给你个函数: public static double round(double v, int scale) { if (scale < 0) { throw new IllegalArgumentException( "The scale must be a positive integer or zero"); } BigDecimal b = new BigDecimal(Double.toString(v)); BigDecimal one = new BigDecimal("1"); return b.divide(one, scale, BigDecimal.ROUND_HALF_UP).doubleValue(); }
没怎么看懂,好像那个BigDecimal b没有用到阿
哦,没仔细看 public static double ceil(double a)返回最小的(最接近负无穷大)double 值,该值大于或等于参数,并且等于某个整数so,一个解决方法是 Math.ceil( arg*20)/20
public MathContext(int setPrecision,
RoundingMode setRoundingMode)
可是第一个参数是int型,不是我要的
public static double round(double v, int scale) {
if (scale < 0) {
throw new IllegalArgumentException(
"The scale must be a positive integer or zero");
}
BigDecimal b = new BigDecimal(Double.toString(v));
BigDecimal one = new BigDecimal("1");
return b.divide(one, scale, BigDecimal.ROUND_HALF_UP).doubleValue();
}
public static double ceil(double a)返回最小的(最接近负无穷大)double 值,该值大于或等于参数,并且等于某个整数so,一个解决方法是
Math.ceil( arg*20)/20