如何在java字符串中定义if大于



在下面的方法中,我需要定义只在值不为null且大于"0.00"时设置值。我该如何定义它。

 String postagePaid1 = trackInfo.getPostage();
                    if(postagePaid1 != null && ????) {
                        claim.setClPtsPostageFee(new BigDecimal(postagePaid1));
                    }

不能用字符串进行数字比较,因为它在字符串世界中没有意义,只能用数字进行比较。因此,首先检查它是否为空,如果不是,则通过Double.parseDouble(...) 将其转换为双精度

if (someStr != null && !someStr.trim().isEmpty()) {
  try {
    double someNumber = Double.parseDouble(someStr.trim());
    if (someNumber > 0.0) {
       // ***** here you are ****
    }
  } catch (NumberFormatException nfe) { 
      // some action if String is not numeric
  }
}

在比较过程中不要将字符串值用作替身。字符串比较是按自然顺序进行的,因此"1111"将小于"9"

在您的情况下,使用Double.parseDouble(doubleString),然后比较值。

如果postagePaid1只包含类型值,则必须使用以下代码将字符串转换为双类型,以便能够进行比较

Double.parseDouble(postagePaid1)

所以如果语句变成:

 if(postagePaid1 != null && Double.parseDouble(postagePaid1)>0.00) {

最新更新