【发布时间】:2020-03-31 12:11:51
【问题描述】:
我想在 TaxList 中匹配这个值 199.04。下面是我的代码
List<BigDecimal> TaxList = new ArrayList<BigDecimal>();
String NetP=driver.findElement(getNetPension).getAttribute("value");
float NetPension = new Float(NetP);
log.info("Value of Net Pension on screen : "+ NetPension);
if(TaxList.contains(NetPension))
{
log.info("Income tax value from the database is matching with the value on the screen");
}
else
{
log.warn("Both the values are different.Net pension is:" +NetPension );
}
我正在控制台中打印 TaxList
[199.04, 610.72, 122.12, 866.52, 94.56, 143.48, 78.28, 132.6, 12.9, 32.03, 1797.38, 128.14, 724.94]。 即使值 199.04 存在。它转到 else 部分
两者的值不同。净养老金是:199.04
【问题讨论】:
-
NetPension 是什么类型的?该类是否实现了equals和hashcode/comparable?您应该考虑遵循命名约定,这将使您的代码更易于阅读。
-
List<BigDecimal>永远不会包含任何float。投射其中一个 -
你将转换后的浮点值更改为 bigdecimal 并且它起作用了。谢谢你
标签: java list selenium contains