使用 String.format () 方法,它可以按照指定的格式化字符串来输出数值,比如 “%.1f” 表示保留一位小数。例如:

double num = 3.14159;

String result = String.format ("%.1f", num); // result = "3.1"

复制

使用 DecimalFormat 类,它可以按照指定的模式来格式化数值,比如 “#.#” 表示保留一位小数。例如:

double num = 3.14159;

DecimalFormat df = new DecimalFormat ("#.#");

String result = df.format (num); // result = "3.1"

复制

使用 Math.round () 方法,它可以对数值进行四舍五入,返回一个整数。如果要保留一位小数,我们可以先把数值乘以 10,然后再除以 10.0。例如:

double num = 3.14159;

double result = Math.round (num * 10) / 10.0; // result = 3.1

复制

使用 BigDecimal 类,它可以对任意精度的数值进行精确的运算。我们可以使用 setScale () 方法来设置保留的小数位数和舍入模式。例如:

double num = 3.14159;

BigDecimal bd = new BigDecimal (Double.toString (num));

bd = bd.setScale (1, RoundingMode.HALF_UP);

double result = bd.doubleValue (); // result = 3.1

复制

如果你想了解更多关于 java 中保留小数的方法,你可以参考以下的网页:

How to Round a Number to N Decimal Places in Java | Baeldung

Using Math.round to round to one decimal place? - Stack Overflow

How to limit decimal places in Java - TutorialCup

Number Formatting in Java | Baeldung