0代表不够就填充0。 #代表尽可能把数字填上去,去掉末尾的0。 数位过长的部分0#都会默认4舍5入
public class Test {
public static void main(String[] args) throws Exception {
// 0代表不够就填充0。 #代表尽可能把数字填上去,去掉末尾的0。 小数位过长的部分0#都会默认4舍5入
// NumberFormat format = new DecimalFormat("#.##%");
// Double d= 0.0020; //0.2%
// Double d= 0.0220; // 2.2%
// Double d= 20.02201; // 2002.2%
// NumberFormat format = new DecimalFormat("#.0#%");
// Double d= 0.021111; // 2.11%
// Double d= 0.020000; // 2.0%
NumberFormat format = new DecimalFormat("00.00%");
// Double d= 20.02201; // 2002.20%
// Double d= 0.0020; //00.20%
Double d= 0.02200; // 02.20%
String format1 = format.format(d);
System.out.println("format1 = " + format1);
// 也可以通过方法来设置小数最大最小位数
// 最少2位小数
format.setMinimumFractionDigits(2);
// 最大3位小数
format.setMaximumFractionDigits(3);
// 设置小数位超出部分直接舍去 不设置默认是4舍5入模式 RoundingMode.HALF_EVEN
format.setRoundingMode(RoundingMode.FLOOR);
}
}
%会先乘100然后在结尾加’%’
‰会先乘1000然后在结尾加’‰’