@Test public void test1(){ // 不要使用double或者float进行构造,先转成String BigDecimal bigDecimal1 = new BigDecimal(String.valueOf(10.26)); BigDecimal bigDecimal2 = new BigDecimal(String.valueOf(3)); // 设置保留的位数 BigDecimal bigDecimal3 = bigDecimal1.setScale(1, BigDecimal.ROUND_HALF_UP); System.out.println(bigDecimal3); // 除不尽会报错,所以最好设置保留几位小数(两个参数,保留位数,规则【可以四舍五入,也可以可以三舍四入等等】) BigDecimal divide = bigDecimal1.divide(bigDecimal2,2,4); System.out.println(divide.toString()); }