当前位置:网站首页>Common class BigDecimal
Common class BigDecimal
2022-08-10 05:50:00 【hagong9】
BigDecimal
先来看个案例,1.0 - 0.9The answer should have been0.1,但是如下图,输出的却是0.0999999998,这是因为double是近似值存储,There will be loss,在生活中,Some jobs require higher precision of numbers,所以doubleYou can't sign requirements,BigDecimalable to perform this task.


BigDecimal概念和使用方法.
例子
package com.zhang.BigDecimal;
import java.math.BigDecimal;
public class Demo01 {
public static void main(String[] args) {
/*double n1 = 1.0;
double n2 = 0.9;
System.out.println(n1-n2);*/
//BigDecimal 大的浮点数精确计算
BigDecimal n1 = new BigDecimal("1.0");//The value should be a string
BigDecimal n2 = new BigDecimal("0.9");
BigDecimal n3 = new BigDecimal("0.3");
//减法
BigDecimal r1 = n1.subtract(n2);
System.out.println(r1);
//加法
BigDecimal r2 = n1.add(n2);
System.out.println(r2);
//乘法
BigDecimal r3 = n1.multiply(n2);
System.out.println(r3);
//除法
BigDecimal r4 = n2.divide(n3);
System.out.println(r4);
}
}

Date类

DeteIt's enough to know something about the class
package com.zhang.Date;
import java.util.Date;
public class Dete {
public static void main(String[] args) {
//创建Date对象,
//今天
Date date1= new Date();
System.out.println(date1.toString());
System.out.println(date1.toLocaleString());
//昨天
Date date2 = new Date(date1.getTime()-(60*60*24*1000));
System.out.println(date2.toLocaleString());
//after before
boolean b1 = date1.before(date2);
boolean b2 = date2.before(date1);
System.out.println(b1);
System.out.println(b2);
//比较compareTo()
int d3 = date1.compareTo(date2);
System.out.println(d3);//结果为1或-1或0
}
}
Calendar类

使用演示
package com.zhang.calendar;
import java.util.Calendar;
public class Demo01 {
public static void main(String[] args) {
//创建对象
Calendar calendar = Calendar.getInstance();
System.out.println(calendar.getTime().toLocaleString());
System.out.println(calendar.getTimeInMillis());//1970至今毫秒数
//获取时间信息
//年
int year = calendar.get(Calendar.YEAR);//也可以表示为get(1)
System.out.println("今年是"+year+"年");
//月
int month = calendar.get(Calendar.MONTH);//2
System.out.println("当前为"+month+"月");//这里会有个问题,The resulting number will be less than the actual month1,This is the one it is from0month starts
//日
int day = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println("今天是"+day+"日");
//时 HOUR12小时 HOUR_OF_DAY 24小时
int hour = calendar.get(Calendar.HOUR);
int hour2 = calendar.get(Calendar.HOUR_OF_DAY);
System.out.println("当前为"+hour+"时");
System.out.println("当前为"+hour2+"时");
//分
int minute = calendar.get(Calendar.MINUTE);
System.out.println("现在是"+minute+"分");
//秒
int second = calendar.get(Calendar.SECOND);
System.out.println("现在是"+second+"秒");
//修改时间
Calendar calendar2 = Calendar.getInstance();
calendar2.set(Calendar.DAY_OF_MONTH,3);//日期改成3号
System.out.println(calendar2.getTime().toLocaleString());
//add 方法修改时间
calendar.add(Calendar.HOUR,-1);//要修改的位置+,+数字()Timing is plus,负数为减
System.out.println(calendar.getTime().toLocaleString());
}
}

SimpleDateFormat

package com.zhang.sdf;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Demo01 {
public static void main(String[] args) throws ParseException {
//创建SimpleDateFormat 对象 y年 m月
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年mm月dd日 hh时mm分ss秒");
//创建Date
Date date = new Date();
//格式化date(把日期转成字符串)
String str = sdf.format(date);
System.out.println(str);
//解析 (把字符串转成日期)
Date date2 = sdf.parse("1990年07月05日 16时20分30秒");
System.out.println(date2);
}
}

System

package com.zhang.System;
public class Demo01 {
public static void main(String[] args) {
//arraycopy 数组复制
//src;源数组
//srcPos;Start copying the location
//dest;目标数组
//destPos;目标数组位置
//length;复制的长度
//创建数组
int[] arr = {10,23,53,32,64,21,97};
int[] dest = new int[7];
System.arraycopy(arr,0,dest,0, arr.length);
for (int i = 0;i<dest.length;i++){
System.out.println(dest[i]);
}
//1970年到现在的毫秒数
System.out.println(System.currentTimeMillis());
//Code runtime timing
//开始时间 Snippet to calculate 结束时间
//运行时间=结束-开始
long start = System.currentTimeMillis();
for(int i = 0;i<=999999999;i++){
for (int j = 0;j<999999;j++){
int result = i+j;
}
}
long end = System.currentTimeMillis();
System.out.println("用时"+(end - start));
}
}

边栏推荐
猜你喜欢
随机推荐
Collection工具类
安装Robotics-toolbox-matlab, for 点云坐标系转换
Chain Reading|The latest and most complete digital collection sales calendar-07.29
操作表 函数的使用
Link reading good article: What is the difference between hot encrypted storage and cold encrypted storage?
error in ./node_modules/cesium/Source/ThirdParty/zip.js
A timeout error is reported when connecting to Nacos
并查集原理与API设计
The submenu of the el-cascader cascade selector is double-clicked to display the selected content
Linux database Oracle client installation, used for shell scripts to connect to the database with sqlplus
Decentralized and p2p networks and traditional communications with centralization at the core
深度学习模型训练前的必做工作:总览模型信息
第十天作业
Module build failed TypeError this.getOptions is not a function报错解决方案
连接 Nacos 报超时错误
复杂的“元宇宙”,为您解读,链读APP即将上线!
力扣——省份数量
Copy large files with crontab
链读|最新最全的数字藏品发售日历-07.29
Bifrost micro synchronous database implementation services across the library data synchronization









