BigDecimal的equals方法
BigDecimal作为浮点数据的一个处理对象,在平时用的挺多,但是今天才注意到它的equals方法有特殊的地方。
equals方法是需要比较数值的精度的。
BigDecimal b_1 = new BigDecimal("1");//精度0BigDecimal b_2 = new BigDecimal("1.0");//精度1System.out.println(b_1.equals(b_2));//false BigDecimal b_3 = new BigDecimal(1.000);BigDecimal b_4 = new BigDecimal(1.0);//得到的2个对象就是1,所以精度都是0System.out.println(b_3.equals(b_4));//trueSystem.out.println(b_3.compareTo(b_4));//0
需要注意,构造函数参数是字符串的场景下,对于字面值一样的数据进行equals方法会得到错误的结果。
因此应该使用BigDecimal的compareTo()方法比较。
BigDecimal的equals方法相关推荐
- 为什么阿里巴巴禁止使用BigDecimal的equals方法做等值比较?
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! BigDecimal,相信对于很多人来说都不陌生,很多人都 ...
- bigdecimal js 判断等于0_为啥阿里禁用BigDecimal的equals方法做等值比较
BigDecimal,相信对于很多人来说都不陌生,很多人都知道它的用法,这是一种java.math包中提供的一种可以用来进行精确运算的类型. 很多人都知道,在进行金额表示.金额计算等场景,不能使用do ...
- 为什么不能使用 BigDecimal 的 equals 方法做等值比较
目录 前言 BigDecimal 做等值比较 使用 compareTo 方法 PS 前言 BigDecimal 是 java.math 包中提供的一种可以用来进行精确运算的类型.所以,在支付.电商等业 ...
- scale和java比较_浅谈java中BigDecimal的equals与compareTo的区别
这两天在处理支付金额校验的时候出现了点问题,有个金额比较我用了BigDecimal的equals方法来比较两个金额是否相等,结果导致金额比较出现错误(比如3.0与3.00的比较等). [注:以下所讲都 ...
- JAVA-初步认识-第十一章-object类-equals方法覆盖
一. 现在要谈论equals方法另一个方面.如果不写equals方法,直接用==来比较也是可以的,貌似equals方法有点多余. 现在不比较对象是否相等,而是比较对象中的特定内容,比如说对象的年龄,之 ...
- 【宋红康学习日记11】Object类与equals方法
1 == (1)当对象是基本数据类型时,比较值: (2)当对象是引用型时,比较的是地址值!!1 2 equals():只处理引用型数据:Object类中的equals方法依然比较的是地址值! 但在St ...
- JAVA中重写equals()方法的同时要重写hashcode()方法
object对象中的 public boolean equals(Object obj),对于任何非空引用值 x 和 y,当且仅当 x 和 y 引用同一个对象时,此方法才返回 true:注意:当此方法 ...
- Java基础学习总结(1)——equals方法
2019独角兽企业重金招聘Python工程师标准>>> 一.equals方法介绍 1.1.通过下面的例子掌握equals的用法 1 package cn.galc.test; 2 3 ...
- Java培训教程:”==“和 equals 方法究竟有什么区别?
在学习java技术过程中,我们会接触到一些变量值的相关知识,本期小编为大家介绍的教程就是关于"=="和 equals 方法究竟有什么区别?来看看下面的详细介绍. Java培训教程: ...
最新文章
- angular中的class写三元表达式 和 清空表单校验
- 分享一套主流框架源码资料,征服阿里 P7 面试必备!
- unix文件权限判断
- RabbitMQ Fanout
- vs code 开发企业级python_基于VS Code配置Python开发环境
- 我的Go语言学习之旅二:入门初体验 Hello World
- 教你配置支付宝应用网关和授权回调地址
- 算法竞赛入门经典 例题6-6 小球下落(python、C)
- Anaconda安装(ubuntu 14.04.03 LTS 64bit)
- 一个函数要使用另一个函数中的数据
- 一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么?
- 6.2.6 String_Number
- 简单的MQTT客户端工具
- 网页文件是用HTML语言编写的,用HTML语言制作简单的网页
- 《duilib入门到精通》- duilib下载与编译(duilib视频教程)
- 骚操作 Python爬你要的网站数据
- ​杭州,苏州,成都哪个最宜居?
- php 模拟登录163邮箱,PHP模拟登陆163邮箱发邮件及获取通讯录列表的方
- html将英文日期格式转化为中文日期格式,excel中文日期与英文日期的转换
- 【现代遗传学原理-基因和基因组学】