以这种方式四舍五入(保持小数点)

round up this way (keeping up to decimal)

如何将 2.278481... 更改为 2.2?

double a = 180;
double b = 79;
double x = (a/b);

Math.ceil()returns3Math.floor()returns2

试试这个:

public static String customFormat(String pattern, double value) {
    NumberFormat nf = NumberFormat.getNumberInstance(Locale.ENGLISH);
    DecimalFormat df = (DecimalFormat)nf;
    df.applyPattern(pattern);
    return df.format(value);

}

通话中:

double x = Double.parseDouble(customFormat("###.#", a/b);

此方法也会对数字进行四舍五入。

对于英语语言环境:

, 不是小数分隔符。这是有效的:##,##,##,##.###

. 是小数分隔符。这是无效的:##.##.##.##,### (至少不适合这个地区)

您可以将 setMaximumFractionDigits 设置为 1。像这样:

public class Test {

public static void main(String[] args) {
    System.out.println(format(14.0184849945)); // prints '14.0'
    System.out.println(format(13)); // prints '13'
    System.out.println(format(3.5)); // prints '3.5'
    System.out.println(format(3.138136)); // prints '3.1'
}

 public static String format(Number n) {
    NumberFormat format = DecimalFormat.getInstance();
    format.setRoundingMode(RoundingMode.FLOOR);
    format.setMinimumFractionDigits(0);
    format.setMaximumFractionDigits(1);
    return format.format(n);
 }

}

这可能对你有帮助