格式化数字。
实例方法:
以下使用format() 方法返回的都是一个StringBuffer
new DecimalFormat("0")、new DecimalFormat("0.0")
1、"0"
只取整数 或 取一位小数(取小数时会四舍五入)
public static void main(String[] args) {
double num = 12.348;
// 去所有的整数
DecimalFormat df1 = new DecimalFormat("0");
// 保留一位小数点
DecimalFormat df2 = new DecimalFormat("0.0");
System.out.println(df1.format(num));
System.out.println(df2.format(num));
}
只保留2位小数,如果第三位小数大于等于5,会四舍五入。
public static void main(String[] args) {
double num = 120.348;
// 保留两位小数点,四舍五入。
DecimalFormat df2 = new DecimalFormat("0.00");
System.out.println(df2.format(num));
}
2、"000.00000"
取三位整数,5位小数,不足用0填充
public static void main(String[] args) {
double num = 12.348;
DecimalFormat df2 = new DecimalFormat("000.00000");
System.out.println(df2.format(num));
}
3、"#"
取所有整数部分
单独使用 "0" 和 "#" 实现的功能一样。
public static void main(String[] args) {
double num = 1200.348;
// 去所有整数部分
DecimalFormat df2 = new DecimalFormat("#");
System.out.println(df2.format(num));
}
4、"#.##%"
以百分比方式计数,保留小数点后2位
public static void main(String[] args) {
double num = 10.348;
// 以百分比计数,保留2位小数
DecimalFormat df2 = new DecimalFormat("#.##%");
System.out.println(df2.format(num));
}
在来看下 "0.00%"
public static void main(String[] args) {
double num = 10.348;
// 以百分比计数,保留2位小数
DecimalFormat df2 = new DecimalFormat("0.00%");
System.out.println(df2.format(num));
}
5、 "#.##%" 和 "0.00%" 差别
使用 #.## 如果小数点不够不会补0,而 0.00 小数点不够会自动补0
6、",000" 、",###"
每三位以逗号分隔
public static void main(String[] args) {
double num = 10348000;
// 每三位以逗号分割
DecimalFormat df2 = new DecimalFormat(",000");
System.out.println(df2.format(num));
}
7、"文本内容 ###"
嵌入文本
public static void main(String[] args) {
double num = 10348000;
// 每三位以逗号分割
DecimalFormat df2 = new DecimalFormat("大家好,我是,###");
System.out.println(df2.format(num));
}