Java基础 -- 数字格式化显示

1.保留两位小数点

// 方式一 DecimalFormat方式
System.out.println("=====DecimalFormat方式显示数据=====");
DecimalFormat df = new DecimalFormat("#.0000");
double d1 = Double.parseDouble(df.format(1234.12345));
System.out.println("保留两位小数点:" + d1);  //保留两位小数点:1234.12
System.out.println("保留两位小数点:" + df.format(12.345)); //保留两位小数点:12.35

// 方式二 format
System.out.println("=====format方式显示数据=====");
String ss1 = String.format("%10.2f%%", 12.34567);//     12.35%
String ss2 = String.format("%10.2f", 1234.56789);//   1234.57
String ss3 = String.format("%.2f", 1234.56789);//1234.57
String ss4 = String.format("%.2f", 123.456789);//123.46
System.out.println("ss1="+ss1+",ss2="+ss2+",ss3="+ss3+",ss4="+ss4);

// 方式三 NumberFormat
System.out.println("=====NumberFormat方式显示数据=====");
NumberFormat ddf1 = NumberFormat.getNumberInstance();
ddf1.setMaximumFractionDigits(2); //最大小数位数
System.out.println("最大小数位数="+ddf1.format(12.345)); //12.35
ddf1.setMinimumFractionDigits(2); //最小小数位数
System.out.println("最小小数位数="+ddf1.format(12.3)); //12.30
ddf1.setMaximumIntegerDigits(2); //最大整数位数
System.out.println("最大整数位数="+ddf1.format(123.456)); //23.46
ddf1.setMinimumIntegerDigits(1); //最小整数位数
System.out.println("最小整数位数="+ddf1.format(1.2345)); //1.23

// 方式四 BigDecimal
System.out.println("=====BigDecimal方式显示数据=====");
BigDecimal ff = new BigDecimal("12.3456789");
BigDecimal setScale2 = ff.setScale(2, BigDecimal.ROUND_HALF_UP);
System.out.println("保留两位小数并四舍五入="+setScale2); //12.35

2.科学计数法+保留两位小数点

/******=科学计数法+保留两位小数点=******//
    Double num2 = 1234567890.123456789;

System.out.println("=====科学计数法+保留两位小数点=====");
System.out.println("原始数据=" + num2);//1.2345678901234567E9
// 方式一 DecimalFormat
String aa = new DecimalFormat("###,###,###.##").format(num2);
System.out.println("DecimalFormat数据=" + aa); //1,234,567,890.12

// 方式三 NumberFormat
NumberFormat bb = NumberFormat.getNumberInstance();
bb.setMaximumFractionDigits(5); // 最大小数位数
System.out.println("NumberFormat最大小数位数=" + bb.format(1234567890.123456789)); //1,234,567,890.12346
bb.setMinimumFractionDigits(2); // 最小小数位数
System.out.println("NumberFormat最小小数位数=" + bb.format(1234567890.1)); //1,234,567,890.10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值