Date类/Calendar类/SimpleDateFormat类/BigInteger/BigDecimal

Date类

使用Date类代表当前系统时间

Date d = new Date();

Date d = new Date(long d);

 

Calendar类

Canlendar类是一个抽象类,在实际使用时实现特定的子类的对象,创建对象的过程对程序员来说是透明的,只需要使用getInstance方法创建即可。

Calendar c1 = Calendar.getInstance();

c1.get(Calendar.YEAR);

 

SimpleDateFormat 日期格式化类

● 构造方法

SimpleDateFormat(格式); // yyyy-MM-dd

● 日期转字符串

Date now=new Date();

myFmt.format(now);

● 字符串转日期

 myFmt.parse(“2018-02-10”);

字符串日期格式与 指定格式必须一致

例如:String s = “2018-03-15”;

new SimpleDateFormat(“yyyy-MM-dd”)

 

BigInteger

● 在 Java 中,有许多数字处理的类,比如 Integer类,但是Integer类有一定的局限性。

● 我们都知道 Integer 是 Int 的包装类,int 的最大值为 2^31-1。若希望描述更大的整数数据时,使用Integer 数据类型就无法实现了,所以Java中提供了BigInteger 类。

● BigInteger类型的数字范围较Integer,Long类型的数字范围要大得多,它支持任意精度的整数,也就是说在运算中 BigInteger 类型可以准确地表示任何大小的整数而不会丢失任何信息。

● BigInteger类位于java.math包中

● 构造方法

BigInteger(String val) /BigInteger(byte[] val) ...

基本运算方法

add(),subtract(),multiply(),divide()

BigDecimal

● 在计算机中不论是float 还是double都是浮点数,而计算机是二进制的,浮点数会失去一定的精确度。

● 根本原因是:十进制值通常没有完全相同的二进制表示形式;十进制数的二进制表示形式可能不精确。只能无限接近于那个值.

double a = 1.0-0.9;

double b = 0.8-0.7;

System.out.println(a==b); // 结果?

• 但是,在项目中,我们不可能让这种情况出现,特别是金融项目,因为涉及金额的计算都必须十分精确,你想想,如果你的支付宝账户余额显193.99999999999998,那是一种怎么样的体验?

• Java在java.math包中提供的API类BigDecimal

• 构造方法

BigDecimal(String val)

基本运算方法

add(),subtract(),multiply(),divide()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值