当前位置:网站首页>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));
}
}
边栏推荐
- I use this recruit let the team to improve the development efficiency of 100%!
- ORACLE系统表空间SYSTEM占满无法扩充表空间问题解决过程
- Privatisation build personal network backup NextCloud
- Multi-table query Notes
- Bifrost 同步数据库实现微服务跨库数据同步
- el-dropdown下拉菜单样式修改,去掉小三角
- tinymce富文本编辑器
- Chain Reading Recommendation: From Tiles to Generative NFTs
- OSPF实验
- Copy large files with crontab
猜你喜欢
随机推荐
IO流【】【】【】
The latest and most complete digital collection sales calendar-07.27
cesium 监听地图缩放或放大来控制地图上添加的内容是否展示
The latest and most complete digital collection sales calendar-07.26
集合 set接口
第二次实验
网络安全6
Four characteristics of ACID
wiki confluence 安装
ZigBee 网络设备相关内容
使用Google Protobuf 在 Matlab 中工作
复杂的“元宇宙”,为您解读,链读APP即将上线!
Module build failed TypeError this.getOptions is not a function报错解决方案
深度学习中的学习率调整策略(1)
Chained Picks: Starbucks looks at digital collectibles and better engages customers
el-cascader级联选择器的子菜单双击两次才显示被选中的内容
网络安全3
Chain Reading Recommendation: From Tiles to Generative NFTs
Smart contracts and DAPP decentralized applications
链读|最新最全的数字藏品发售日历-07.29