java精确除运算,保留任意位小数
来源:互联网 发布:淘宝怎么打假手机 编辑:程序博客网 时间:2024/04/30 19:16
import java.math.BigDecimal;import java.text.NumberFormat;/** * java精确除法运算,可保留任意长的小数位,多位小数,不限小数位长度 */public class Demo { public static void main(String[] args) { // 除数 BigDecimal bd = new BigDecimal(153); // 被除数 BigDecimal bd2 = new BigDecimal(7); // 进行除法运算,保留200位小数,末位使用四舍五入方式,返回结果 BigDecimal result = bd.divide(bd2, 200, BigDecimal.ROUND_HALF_DOWN); System.out.println("完整200位小数结果: " + result); System.out.println("float : " + result.floatValue()); System.out.println("double : " + result.doubleValue()); // 指定想要的小数位长度取值 NumberFormat nf = NumberFormat.getNumberInstance(); nf.setMaximumFractionDigits(20);// 最大小数位 nf.setMinimumFractionDigits(5); // 最小小数位 String str = nf.format(result); System.out.println("指定位数取值: " + str); }}