package vshuzilei;
/*
* 关于数字格式化:java.text.DecimalFormat
*
* 数字格式元素:
* # 任意数字
* , 千分位
* . 小数点
* 0 不够补0
*/
import java.text.DateFormat;
import java.text.DecimalFormat;
public class NumberTest01 {
public static void main(String[] args) {
//1.创建数字格式化对象
//需求:假如千分位
DecimalFormat df = new DecimalFormat("###,###");
//开始格式化
//Number-->String
System.out.println(df.format(1234567)); //1,234,567
//需求:加入千分位,保留2位小数
DecimalFormat df1 = new DecimalFormat("###,###.##");
System.out.println(df1.format(1234567.123)); //1,234,567.12
//需求:加入千分位,保留4位小数,并且不够补0
DecimalFormat df2 = new DecimalFormat("###,###.0000");
System.out.println(df2.format(1234567.123)); //1,234,567.1230
}
}
package vshuzilei;
/*
* java.math.BigDecimal
*
* 该类型的数据精确度要求极高,适合做财务软件
* 财务软件中double类型精确度太低
*/
import java.math.BigDecimal;
public class NumberTest02 {
public static void main(String[] args) {
//创建大数据
BigDecimal v1 = new BigDecimal(10);
BigDecimal v2 = new BigDecimal(20);
//做加法运算
//v1 + v2; //错误:两个引用类型不能做加法运算
//必须调用方法执行加法运算
BigDecimal v3 = v1.add(v2);
System.out.println(v3); //30
}
}