常用的几种需求格式
// 圆周率,请允许我用 π 这个命名,手动滑稽
double π = 3.1415926535898;
保留两位小数(多保留几位就多加几个零)
new DecimalFormat("0.00").format(π)
结果:3.14
百分比方式计数,保留两位小数
new DecimalFormat("#.##%").format(π)
结果:314.16%
背景
需要做报表数据,那么不可避免的要对数据进行处理,通常都是要求保留一两位小数,百分比的计数方式也是保留一两位小数。
小技巧
在操作数据的时候,如果两个数均为整型,那么在求值想要有小数,可以直接在中途将其转为 double 类型
int a = 1;
int b = 2;
a / b 的结果为 0
a / 1.0 / b 的结果为 0.5
其他的一些格式
保留一位整数
new DecimalFormat("0").format(π)
结果:3
保留两位整数和三位小数
new DecimalFormat("00.000").format(π)
结果:03.142
保留所有整数部分
new DecimalFormat("#").format(π)
结果:3
// 光速
long c = 299792458;
科学计数法,并取3位小数
new DecimalFormat("#.###E0").format(c)
结果:2.998E8
两位整数的科学计数法,并取四位小数
new DecimalFormat("00.####E0").format(c)
结果:29.9792E7
每三位以逗号进行分隔
new DecimalFormat(",###").format(c)
结果:299,792,458
嵌入文本
new DecimalFormat("光速大小为每秒,###米。").format(c)
光速大小为每秒299,792,458米。