BigDecimal( )
对数据的精度要求比较高的时候可以使用BigDecimal ( )方法。
示例一:
public class MyTest {
public static void main(String[] args) {
BigDecimal a = new BigDecimal("1.333333555555");
BigDecimal b = new BigDecimal("2.366363388888888");
BigDecimal bigDecimal = a.multiply(b);
System.out.println(bigDecimal.toString());
}
}
运行结果:
3.155151711042400217870172840
Process finished with exit code 0
示例二:
public class demo1 {
public static void main(String[] args) {
BigDecimal c = new BigDecimal("10");
BigDecimal d = new BigDecimal("3");
// BigDecimal divide = c.divide(d);
BigDecimal e = c.divide(d, 50, BigDecimal.ROUND_FLOOR);
System.out.println(e);
}
}
运行结果:
3.33333333333333333333333333333333333333333333333333
Process finished with exit code 0
示例三:
import java.math.BigDecimal;
public class demo1 {
public static void main(String[] args) {
System.out.println(1==0.99999999999999999999999999);
System.out.println(1==0.99999);
}
}
运行结果:
true
false
类 Date
表示特定的瞬间,精确到毫秒。
Date( long date)
分配 Date 对象并初始化此对象,以表示自从标准基准时间
(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。
给 1970 年 1 月 1 日 00:00:00 计算机元年加上相应的时间量。
import java.math.BigDecimal;
import java.util.Date;
public class demo1 {
public static void main(String[] args) {
Date date = new Date();
System.out.println(date);
Date date1 = new Date(1000*60*60);
System.out.println(date1);
}
}
运行结果:
Tue Aug 04 22:06:48 CST 2020
Thu Jan 01 09:00:00 CST 1970
练习:算一下你来这个世界多少天?
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.Period;
import java.util.Date;
import java.util.Scanner;
public class demo1 {
public static void main(String[] args) throws ParseException {
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的生日:例如 1990-01-01");
String birthday = sc.nextLine();
long time = new SimpleDateFormat("yyyy-MM-dd").parse(birthday).getTime();
// long time = DateUtils.convertStringToDate(birthday, "yyyy-MM-dd").getTime();
long now = System.currentTimeMillis();
System.out.println((now - time) / 1000 / 60 / 60 / 24/365+"年");
System.out.println("=====================================================");
//JDK1.8 提供的关于日期的类
LocalDate birthdayDate = LocalDate.of(1995, 06, 16);
LocalDate nowDate = LocalDate.now();
Period period = Period.between(birthdayDate, nowDate);
int years = period.getYears();
int months = period.getMonths();
int days = period.getDays();
System.out.println(years);
System.out.println(months);
System.out.println(days);
}
}
import java.util.Calendar;
public class demo1 {
public static void main(String[] args) {
Calendar rightNow = Calendar.getInstance();
//System.out.println(rightNow);
int year = rightNow.get(Calendar.YEAR);
int month = rightNow.get(Calendar.MONTH);
int day = rightNow.get(Calendar.DAY_OF_MONTH);
int hour = rightNow.get(Calendar.HOUR);
int minute = rightNow.get(Calendar.MINUTE);
int s = rightNow.get(Calendar.SECOND);
System.out.println(year + " "+month + " "+day + " "+hour + " "+minute + " "+s);
}
}
运行结果:
2020 7 4 10 15 35
Process finished with exit code 0