Java中BigDecimal、Date等特殊格式⽐较⼤⼩的⽅法总结(持续更新中)特殊格式⽐较的⽅法总结
开发中经常与到要⽐较两值⼤⼩的问题,⼀般的格式通过">","<"即可,但是有些特殊的格式就不能使⽤这些运算符做判断或者有更简便的⽅法。下⾯总结⼀下开发中遇到的⽐较问题,并在今后的开发中会持续更新…
1.BigDecimal⽐较⼤⼩的⽅法
BigDecimal不能直接⽤">","<"⽐较
例如:
@Test
public void containsTest(){
BigDecimal a =new BigDecimal(0.1);
BigDecimal b =new BigDecimal(0.2);
if(a>b){//程序会报错
}
}
正确操作
public void containsTest(){
BigDecimal a =new BigDecimal(0.1);
bigdecimal格式化两位小数BigDecimal b =new BigDecimal(0.2);
int result = apareTo(b);
result =-1;//表⽰a⼩于b
result =0;//表⽰a等于b;
result =1;//表⽰a⼤于b;
if(apareTo(b)==0){
}
}
2.Date⽐较⼤⼩
⼀般写法
@Test
public void dateTest(){
Date date1 =new Date();
Date date2 =new Date();
boolean result1 = Time()> Time();// date1时间⽐date2时间⼤(所以date1⽐date2晚)
boolean result2 = Time()< Time();// date1时间⽐date2时间⼩(所以date1⽐date2早)
boolean result3 = Time()== Time();// date1时间和date2时间相等
}
⾼级写法
@Test
public void dateTest1(){
Date date1 =new Date();
Date date2 =new Date();
boolean result1 = date1.before(date2);//true ——>date1⼩于date2(date1⽐date2早) false反之
boolean result2 = date1.after(date2);//true ——>date1⼤于date2(date1⽐date2晚) false反之
boolean result3 = date1.equals(date2);//rure 相等
}
注意!
date1和date2的2个⽇期,⼀定要是标准的⽇期格式:yyyyMMddHHmmss或yyyy-MM-dd HH:mm:ss
如果不是,在⽐较前⼀定要先格式化成这两种格式后再做⽐较,否则会抛异常。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论