
在java中如何保留整数、保留小数位数保留整数部分所有方法方法1强制类型转换为整数取整数位double number 1.67; int a (int) number; //强制转换为整数a将为1 **方法2**使用Math.floor()函数向下取整double number 1.67; int a (int) Math.floor(number); // 使用Math.floor向下取整a将为1 **方法3**使用Math.ceil()函数向上取整(四舍五入)double number 1.67; int a (int) Math.ceil(number); // 使用Math.floor向下取整a将为2 **方法4**使用Math.round()函数四舍五入取整double number 1.67; int a (int) Math.round(number); // 将1.67四舍五入为整数a将为2保留小数位数所有方法 **方法1使用 **DecimalFormat类四舍五入double number 1.6789; DecimalFormat decimalFormat new DecimalFormat(#.##); // 保留两位小数 String res decimalFormat.format(number); // 四舍五入 System.out.println(res); //1.68 **方法2使用 **BigDecimal类四舍五入double number 1.6789; int decimalPlaces 2;// 保留两位小数 BigDecimal bd new BigDecimal(number); bd bd.setScale(decimalPlaces, RoundingMode.HALF_UP); // 四舍五入 double res bd.doubleValue(); System.out.println(res); //1.68 **方法3使用 **DecimalFormat类非四舍五入double number 1.6789; DecimalFormat df new DecimalFormat(#.##); // 保留两位小数 df.setRoundingMode(RoundingMode.DOWN); // 非四舍五入RoundingMode.FLOOR也可以 String res df.format(number); System.out.println(res); //1.67 **方法4使用 **BigDecimal类非四舍五入double number 1.6789; int decimalPlaces 2; // 保留两位小数 BigDecimal bd new BigDecimal(number); bd bd.setScale(decimalPlaces, BigDecimal.ROUND_DOWN); // 非四舍五入.ROUND_FLOOR也可以 double res bd.doubleValue(); System.out.println(res);参考地址:1.https://blog.csdn.net/lxh_worldpeace/article/details/1068390122.https://blog.csdn.net/qq_41477034/article/details/1028117903.https://blog.csdn.net/devnn/article/details/83104228