Java里面BigDecimal.divide()方法能不能实现保留小数点前后共35位这样的操作
就是两个数相除以后,除不尽的情况下可以保留小数点前后一共35位的情况,当然如果小数点前面的位数已经达到35位就会省略小数点后面的位数。。。。。...
就是两个数相除以后,除不尽的情况下可以保留小数点前后一共35位的情况,当然如果小数点前面的位数已经达到35位就会省略小数点后面的位数。。。。。
展开
2个回答
展开全部
没有这样的方法,你自己封装一个就行了啊,把结果转成35位就行了
追问
我不会啊,会的话就不提问了
追答
BigDecimal bd1 = new BigDecimal("30000000000000000000000000000000000000000000000000000000000");
BigDecimal bd2 = new BigDecimal(3);
//MathContext,第一个参数表示你要保留几位小数,第二参数表示最后一位你是取顶,还是取底,还是四舍五入等,自己稍微看下就知道了
System.out.println(bd1.divide(bd2, new MathContext(35, RoundingMode.HALF_UP)).toPlainString());
这个是BigDecimal自带的方法,但是有个地方不能满足你,比如30/3,他就只输出10,不会输出为10.00000000000000.如果你需要的话,可以再帮你改一下
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询