源代码:
package xyz.jangle.math;
import java.text.DecimalFormat;
import java.text.ParseException;
/**
* DecimalFormat的使用
* @author jangle
* @email 274676957@qq.com
* 2025年10月11日 下午6:49:51
*/
public class DecimalFormatM {
/**
* 2025年10月11日 下午6:49:52 @author jangle
* @param args
*/
public static void main(String[] args) {
double number = 12345.9876543;
DecimalFormat df = new DecimalFormat("000000.000"); // 整数最少6位,小数最少3位。
String result = df.format(number);
System.out.println(result);
number = 12345678.987654;
df.applyPattern("#,##,#00.0000$"); // 整数最少2位,小数最少4位
//df = new DecimalFormat("#,##,#00.0000$");
result = df.format(number);
System.out.println(result);
number = 0.986796;
df.applyPattern("0.0000%"); //百分数
result = df.format(number);
System.out.println(result);
df.applyPattern("0.0000\u2030"); //千分数
result = df.format(number);
System.out.println(result);
number = 31456.4567;
df.applyPattern("0.00E0"); //科学计数法
result = df.format(number);
System.out.println(result);
String money = "3,521,563.345¥";
df.applyPattern("#,##,##0.000");
try {
Number num = df.parse(money);
System.out.println(num.doubleValue());
} catch (ParseException e) {
e.printStackTrace();
}
result = df.format(new BigDecimal("10000"));
System.out.println(result);
}
}
输出结果:
012345.988
12,345,678.9877$
98.6796%
986.7960‰
3.15E4
3521563.345
10,000.000