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。
我有一个将unitPrice设置为BigDecimal数据类型的域类。现在我正在尝试创建一种比较价格的方法,但似乎我不能在BigDecimal数据类型中使用比较运算符。我必须更改数据类型还是有其他方法?
问题内容: 我的代码示例: 结果是: 我究竟做错了什么? 问题答案: 您尚未为结果指定比例。请尝试这个 2019编辑:已更新JDK 13的答案。因为希望您现在已从JDK 1.5迁移。 请阅读JDK 13 文档。 JDK 1.5的旧答案 : 结果将为0.33。请阅读API
我的代码示例: 结果是:<代码>1/3=0 我做错了什么?
编辑:整个计算很复杂,有很多类似这样的操作。我需要尽可能精确的结束。
我们有以下代码: 我们正在对此进行单元测试,并根据是否在测试类上使用事务性测试得到不同的结果。 我只想知道我们是否应该期望的应用程序与一起考虑,还是在它之前考虑。 例如: 说: 价格=4.00 累计税收=1.20 您是否希望计算结果如下: a) <代码>4.00/1.20=3.33333333-- 或 b)<代码>4.00 / 1.20 = 3.33333333...-- 正如我所说,我们对这段代
当我尝试这样做时,我得到如下输出: 我只想把我的out放入。我怎么才能做到这一点?