数字格式化
在实际问题中,数字格式化非常常见,在DecimalFormat类中就可以自己编写格式化法。
用于格式化的字符:
符号 | 说明 |
---|---|
0 | 显示数字,位数不够的补零 |
# | 显示数字,位数不够的不变 |
. | 小数分隔符 |
- | 减号 |
, | 分组分隔符 |
E | 分隔科学计数法中的尾数和指数。在前缀或后缀中无需加引号。 |
% | 前缀和后缀,乘以100后按百分比显示 |
? | 乘以1000按千分数显示 |
import java.text.DecimalFormat;
public class dome2{
public static void main(String[] args) {
DecimalFormat d=new DecimalFormat("0.0");
DecimalFormat d1=new DecimalFormat("#.#");
DecimalFormat d2=new DecimalFormat("0000.0000");
DecimalFormat d3=new DecimalFormat("####.####");
DecimalFormat d4=new DecimalFormat("0.0%");
float f=888.7393f;
System.out.println(d.format(f));
System.out.println(d1.format(f));
System.out.println(d2.format(f));
System.out.println(d3.format(f));
System.out.println(d4.format(f));
}
}
结果
888.7
888.7
0888.7393
888.7393
88873.9%
格式化方法:
方法名 | 说明 |
---|---|
format() | 格式化规范 ,返回字符串 |
parse() | 解析字符串开头部分,返回Number值 |
getNegativePrefix(),setNegativePrefix() | 获取和设置负数前缀 |
getNegativeSuffix(),setNegativeSuffix() | 获取和设置负数后缀 |
getPositiveSuffix(),setPositiveSuffix() | 获取和设置正数后缀 |
getPositivePrefix(),setPositivePrefix() | 获取和设置正数前缀 |
public class dome2{
public static void main(String[] args) {
DecimalFormat d=new DecimalFormat("0.0");
DecimalFormat d1=new DecimalFormat("00.000%");
float f=-2349.99f;
System.out.println(d.format(f)); //四舍五入后输出
System.out.println(d.getNegativePrefix()); //获取负数前缀
d.setNegativePrefix("+"); //设置负数前缀
System.out.println(d.format(f));
System.out.println(d1.format(f));
System.out.println(d1.getNegativeSuffix()); //获取负数后缀
}
}
结果
-2350.0
-
+2350.0
-234998.999%
%