介绍
-
我们经常要对数字进行格式化,比如取小数点后两位小数,或者加个百分比符号等,Java提供了DecimalFormat这个类
-
0 和 # 的区别
"#"可以理解为在正常的数字显示中,如果前缀与后缀出现不必要的多余的0,则将其忽略。
代码示例
package com.tool.decimalFormat;
import java.text.DecimalFormat;
/**
*
*/
public class Demo1 {
public static void main(String args[]) {
double pi = 123.1512134567;
// 取整数部分
String s1 = new DecimalFormat("0").format(pi);
System.out.println("取整数:" + s1);//123
// 取小数点后1位,四舍五入
String s2 = new DecimalFormat("0.0").format(pi);
System.out.println(s2);//123.2
// 取小数点后3位,不足部分取0
String s3 = new DecimalFormat("0.000").format(pi);
System.out.println(s3);//123.150
// 百分比
String s4 = new DecimalFormat("0.0%").format(pi);
System.out.println(s4);// 12315.0%
// 科学计数法
String s5 = new DecimalFormat("0.00E0").format(pi);
System.out.println(s5);
double d = 1234567;
// 每三位以逗号分开
String s6 = new DecimalFormat(",000").format(d);
System.out.println(s6);
//小数点后3位,如果是0则不显示
String s7 = new DecimalFormat("#.###").format(123.300);
System.out.println(s7);//123.3
}
}