【bigdecimal比较大小】【BigDecimal怎么比较大小】_诗音翩然A0011
编辑: admin 2017-13-06
-
4
可以通过BigDecimal的compareTo方法来进行比较.
返回的结果是int类型,-1表示小于,0是等于,1是大于.
互助这道作业题的同学还参与了下面的作业题
题1: 关于BigDecimal的divide()方法.importjava.math.*;publicclassTest{publicstaticvoidmain(String[]args){BigDecimala=newBigDecimal(0.5);BigDecimalb=newBigDecimal(0.2);System.out.println(a.divide(b));}}为什么会出错啊?0.5除以0.2
BigDecimal的除法,需要指定计算答案的精度,你那样肯定会报异常.虽然你知道答案为2.5,但计算机不知道你的精度为多少,会抛异常的.
我给你写一段,
MathContext mc = new MathContext(2, RoundingMode.HALF_DOWN);
//精度为2,舍入模式为大于0.5进1,否则舍弃.
BigDecimal a = new BigDecimal(0.5);
BigDecimal b = new BigDecimal(0.2);
System.out.println(a.divide(b,mc));
题2: 怎么将BigDecimal转换成Int
BigDecimal a=new BigDecimal(12.88);
int b=a.intValue();
System.out.println(b);//b=12;
题3: 怎么解决BigDecimal里面无限循环小数的问题啊?[数学科目]
通过BigDecimal的divide方法进行除法时当不整除,出现无限循环小数时,就会抛这个异常.
解决之道:就是给divide设置精确的小数点divide(xxxxx,2,BigDecimal.ROUND_HALF_EVEN);