如何在BigDecimal上使用>,=,<之类的比较运算符
我有一个将unitPrice设置为BigDecimal数据类型的域类。现在,我正在尝试创建一种比较价格的方法,但似乎我没有BigDecimal数据类型的比较运算符。我必须更改数据类型还是其他方法?
回答:
Class的每个对象BigDecimal
都有一个compareTo
可用来将其与另一个BigDecimal进行比较的方法。compareTo
然后比较的结果> 0
,==
0或者< 0
根据需要进行比较。阅读文档,您将找到答案。
运营商==
,<
,>
等只能在基本数据类型等中使用int
,long
,double
或它们的包装类等Integer
和Double
。
从以下文档中compareTo
:
将其
BigDecimal
与指定的进行比较BigDecimal
。
BigDecimal
此方法将值相等但规模不同的两个对象(例如2.0和2.00)视为相等。对于六个布尔比较运算符(<,==,>,>=,!=,<=)中的每一个,该方法优先于单个方法提供。建议执行这些比较的习惯用法是:
(x.compareTo(y) <op> 0)
,其中<op>
是六个比较运算符之一。
返回:-1、0或1,因为此BigDecimal在数值上小于,等于或大于val。
以上是 如何在BigDecimal上使用>,=,<之类的比较运算符 的全部内容, 来源链接: utcz.com/qa/411768.html