数字格式化:Java.text.DecimalFormat
是NumberFormat的子类 可以将一些数字格式化为整数、浮点数、百分数,通过使用该类可以为要输出的数字加上单位或控制数字的精度,一般在实例化DecimalFormat对象传递时传递数字格式,也可以通过DecimalFormat类中的applyPattern()的方法来实现数字格式化
import java.text.DecimalFormat;
public class DecimalFormatSimpleDemo {
/**
* @param args
*/
// 使用实例化对象时设置格式化模式
public static void SimgleFromat(String pattern,double value) {
// 实例化DecimalFormat对象
DecimalFormat decimalFormat = new DecimalFormat(pattern);
String output = decimalFormat.format(value);
System.out.println(pattern+""+value+""+output);
}
// 使用applyPattern()方法对数字进行格式化
public static void UseApplyPatternMethodFromat(String pattern,double value){
// 实例化DecimalFormat对象
DecimalFormat decimalFormat = new DecimalFormat();
// 调用applyPattern方法设置格式化模板
decimalFormat.applyPattern(pattern);
System.out.println(value+""+pattern+""+decimalFormat.format(value));
}
public static void main(String[] args) {
// TODO Auto-generated method stub
// 调用静态的SimgleFormat()方法 在数字后加上单位
SimgleFromat("###,###,###",123456.789);
SimgleFromat("00000000,###kg",123456.789);
// 按照格式模板格式化数字 不存在的位以0显示
SimgleFromat("000000.000", 123.78);
// 调用静态的UseApplyPatternMethodFormat()方法
UseApplyPatternMethodFromat("#.###%", 0.789); //将数字转换位百分数的形式
// 将小数点后格式化为两位
UseApplyPatternMethodFromat("###.##", 123456.789);
// 将数字转换为千分数的形式
UseApplyPatternMethodFromat("0.00\u2030", 0.789);
}
}
首先记住用的包 Java.text.DecimalFromat
在代码测试段 定义两个格式化数字的方法,参数都为两个 分别代表数字格式化模板和具体需要格式化的数字,虽然都个已实现,但是操作的方式有所不同 SIM够了Fromat 方法在实例化DecimalFromat 对象时设置十足格式化模板 而UseApplyPatternMethodFromat 方法在实例化DecimalFromat对象后调用applypattern方法设置数字格式化模板 最后在主方法中根据不同形式的模板格式化数字 在结果中可以看到“0”特殊字符的构成的模板进行格式化时,在数字某位不存在时 将显示0 而以#特殊字符构成的模板进行格式化操作时,格式化的数字位数与数字本身的位数一致 在DecimalFromat类中除了设置格式化数字之外,还可以使用一些特殊的方法对数字进行格式化设置
DecimalFromat myfromat = new DecimalFromat();
myfromat.setGroupSize(2); //设置数字分组的大小
myfromat.setGroupUser(false); // 设置是否支持分组