java double 保留两位小数
百度这个问题,可以直接得到 AI 返回的两个方法:
方法一:使用DecimalFormat类进行格式化
import java.text.DecimalFormat;
public class Main {
public static void main(String[] args) {
double num = 3.1415926;
DecimalFormat df = new DecimalFormat("#.00");
String result = df.format(num);
System.out.println(result);
}
}
方法二:使用String.format()方法进行格式化
public class Main {
public static void main(String[] args) {
double num = 3.1415926;
String result = String.format("%.2f", num);
System.out.println(result);
}
}
Java中double保留两位小数的多种方法 - jb51.net 还介绍了 BigDecimal.setScale()
、NumberFormat
方法,大抵都是调用 Java 的一些类库来实现。
不过,当前目标还有一个,就是保留两位小数之后还要写回到原属性中,所以返回类型需要为 Double。
import java.text.DecimalFormat;
public class Main {
public static void main(String[] args) {
double num = 3.1415926;
DecimalFormat df = new DecimalFormat("#.00");
String result = df.format(num);
double num1 = Double.parseDouble(result);
System.out.println(num1);
}
}
Double 与 double 类型似乎不需要额外转换,可以直接变化使用
附:DecimalFormat 基本用法,介绍了 RoundingMode 舍入法的设置以及占位符0
、#
的用法。