如何验证带有负号的货币形式

时间:2019-09-09 15:52:15

标签: java selenium appium

我正在做一个断言,以检查断言中包括的货币(美元),如果交易是“贷方”或“借方”,我必须在报告中显示的位置。但是,我已经在确定代码是有效货币的地方完成了代码,但问题是我通过应用程序获取的货币值包含“-”符号,因此,我必须打印其信用交易。

  

我正在考虑采用一种可以检查货币是否正确的方法   前面有“-”号,我将打印结果“信贷交易”

BigDecimal posted_trans = validator.validate(getDriver().findElement(by("label.transaction_amt")).getText(), Locale.US);
System.out.print("transaction amount = "+getDriver().findElement(by("label.transaction_amt")).getText());
                AssertUtil.assertFalse("Validate posted balance format", posted_trans==null);
  

我在此表单控制台中收到打印声明

     

交易金额=-$ 12,345,67899

可以使用currencyValidator函数采取任何方法,还是应该使用以下方法检查金额是否带有“-”符号,然后打印出一些内容.... ??

2 个答案:

答案 0 :(得分:0)

这种方法似乎有效:

String transaction = "transaction amount = $12,345,67899";
    if(transaction.contains("-")) {
        System.out.println("credit");
    }else {
        System.out.println("Debit");
    }

答案 1 :(得分:0)

使用BigDecimal时,可以使用signum方法检查负数。

if (posted_trans.signum() < 0) {
    System.out.println("credit");
} else {
    System.out.println("Debit");
}

另一种方法是与零进行比较。

if (posted_trans.compareTo(BigDecimal.ZERO) < 0) {
    System.out.println("credit");
} else {
    System.out.println("Debit");
}