数字格式化
2019-02-03 本文已影响0人
ZChao_b56b
数字的格式化在解决实际问题时使用非常普遍,如表示某超市商品价格,需要保留两位有效数字。Java主要对浮点型数据进行数字格式化操作,其中浮点型数据包括double
型和float
型数据,在Java中使用java.text.DecimalFormat
格式化数字。
一般情况下可以通过实例化DecimalFormat
对象时传递数字格式,也可以通过DecimalFormat
类中的applyPattern()
方法来实现数字格式化。例如:
//通过实例化DecimalFormat对象时传递数字格式
DecimalFormat myFormat = new DecimalFormat(pattern);
System.out.println(myFormat.format(value));
//通过DecimalFormat类中的applyPattern()方法来实现数字格式化
DecimalFormat myFormat = new DecimalFormat();
myFormat.applyPattern(pattern);
System.out.println(myFormat.format(value));
DecimalFormat类中特殊字符说明其中参数
pattern
是String
类型的格式化模板,如:#.###
、#.##%
等等。参数value
是需要格式化的浮点类型数据。
例子:
import java.text.DecimalFormat;
public class DecimalFormatSimpleDemo {
// 使用实例化对象时设置格式化模式
static public void SimgleFormat(String pattern, double value) {
// 实例化DecimalFormat对象
DecimalFormat myFormat = new DecimalFormat(pattern);
String output = myFormat.format(value); // 将数字进行格式化
System.out.println(value + " " + pattern + " " + output);
}
// 使用applyPattern()方法对数字进行格式化
static public void UseApplyPatternMethodFormat(String pattern, double value) {
DecimalFormat myFormat=new DecimalFormat();//实例化DecimalFormat对象
myFormat.applyPattern(pattern); // 调用applyPatten()方法设置格式化模板
System.out
.println(value + " " + pattern + " " + myFormat.format(value));
}
public static void main(String[] args) {
SimgleFormat("###,###.###", 123456.789);// 调用静态SimgleFormat()方法
SimgleFormat("00000000.###kg", 123456.789); // 在数字后加上单位
// 按照格式模板格式化数字,不存在的位以0显示
SimgleFormat("000000.000", 123.78);
// 调用静态UseApplyPatternMethodFormat()方法
UseApplyPatternMethodFormat("#.###%", 0.789); // 将数字转换为百分数形式
// 将小数点后格式化为两位
UseApplyPatternMethodFormat("###.##", 123456.789);
// 将数字转化为千分数形式
UseApplyPatternMethodFormat("0.00\u2030", 0.789);
}
}
运行结果