东南教育网您的位置:首页 >资讯 > 新知 >

bigdecimal divide默认保留几位小数

导读 大家好,小鑫来为大家解答以上的问题。bigdecimal divide默认保留几位小数这个很多人还不知道,现在让我们一起来看看吧!1、BigDecimal的除

大家好,小鑫来为大家解答以上的问题。bigdecimal divide默认保留几位小数这个很多人还不知道,现在让我们一起来看看吧!

1、BigDecimal的除法,需要指定计算答案的精度,那样肯定会报异常。

2、MathContext mc = new MathContext(2, RoundingMode.HALF_DOWN);BigDecimal a = new BigDecimal(0.5);BigDecimal bd1 = new;BigDecimal("30000000000000000000000000000000000000000000000000000000000");BigDecimal bd2 = new BigDecimal(3);//MathContext,第一个参数表示你要保留几位小数,第二参数表示最后一位是取顶。

3、构造方法BigDecimal一共有4个构造方法:BigDecimal(int) 创建一个具有参数所指定整数值的对象。

4、BigDecimal(double) 创建一个具有参数所指定双精度值的对象。

5、(不建议采用)BigDecimal(long) 创建一个具有参数所指定长整数值的对象。

6、BigDecimal(String) 创建一个具有参数所指定以字符串表示的数值的对象。

7、BigDecimal的除法,需要指定计算答案的精度,你那样肯定会报异常。

8、虽然你知道答案为2.5,但计算机不知道你的精度为多少,会抛异常的。

9、我给你写一段, MathContext mc = new MathContext(2, RoundingMode.HALF_DOWN);//精度为2,舍入模式为大于0.5进1,否则舍弃。

10、 BigDecimal a = new BigDecimal(0.5);BigDecimal b = new BigDecimal(0.2);System.out.println(a.divide(b,mc));0.5,0.2加双引号,直接出答案2.5也可以按楼上的方法做BigDecimal 的 divide 是可以指定精度运算的: BigDecimal a=new BigDecimal(0.5); BigDecimal b=new BigDecimal(0.2); System.out.println( a.divide(b) , 2 , BigDecimal.ROUND_HALF_UP ); // ROUND_HALF_UP是BigDecimal的一个常量,表示进行四舍五入的操作BigDecimal bigDecimal1 = new BigDecimal(100.0);BigDecimal bigDecimal2 = new BigDecimal(33.0);BigDecimal b = bigDecimal1.divide(bigDecimal2,0,BigDecimal.ROUND_DOWN);取整数。

本文到此分享完毕,希望对大家有所帮助。

免责声明:本文为转载,非本网原创内容,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。