Java有时会以科学计数法形式表示浮点数值,如 0.000023 表示为 2.3E-5,而我们需要以十进制的形式展示给用户,此时需要对浮点数的格式进行指定。
JDK提供了 DecimalFormat
用于格式化十进制数字,指定十进制数字的格式,然后调用 format()
方法格式化数字并返回字符串。
DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字。 它具有多种功能,旨在解析和格式化任何语言环境中的数字,支持不同类型的数字,包括整数(123),定点数(123.4),科学记数法(1.23E4),百分比(12%)和货币金额(123美元)。
JDK提供的格式字符有:
0
表示一个数字#
表示一个数字,如果没有数字则为空.
表示小数分隔符- … …
以数据库字段类型为 decimal(15, 6)
为例,将字段值以十进制形式展示
public class FloatFormatUtil {
public static String format(Float value) {
DecimalFormat decimalFormat = new DecimalFormat("#########.######");
return decimalFormat.format(value);
}
}
public void test() {
String value = FloatFormatUtil.format(2.3E-5);
System.out.println(value); //0.000023
}