package javase9; import java.math.BigDecimal; public class javase9_3 { public static BigDecimal div(double value1, double value2, int b,int r){ if (b<0){ System.out.println("以不同近似处理模式处理商的精度"); } BigDecimal b1=new BigDecimal(value1); BigDecimal b2=new BigDecimal(value2); return b1.divide(b2,b,r); } public static void main(String[] args) { javase9_3 u=new javase9_3(); //如果商为整数按照ROUND_UP处理,负数按照ROUND_DOWN处理。 System.out.println(u.div(-7.5,8.9,5,BigDecimal.ROUND_CEILING)); //与ROUND_CEILING相反 System.out.println(u.div(-7.5,8.9,5,BigDecimal.ROUND_FLOOR)); //最后一个数省略 System.out.println(u.div(-7.5,8.9,5,BigDecimal.ROUND_DOWN)); //如果商第二位数位奇数,则按照ROUND_HALF_UP处理,偶数则ROUND_UP处理。 System.out.println(u.div(-7.5,8.9,5,BigDecimal.ROUND_HALF_DOWN)); //对商进行四舍五入操作。 System.out.println(u.div(-7.5,8.9,5,BigDecimal.ROUND_HALF_UP)); //最后一位数大于0,则进位 System.out.println(u.div(-7.5,8.9,5,BigDecimal.ROUND_UP)); } }
尝试改写BigDecimalDemo类中的div(double value1,double value2, int b, int r)方法,以不同近似处理模式处理商的精度。
最新推荐文章于 2021-09-16 10:34:12 发布