BigDecimal 允许空值

BigDecimal to allows null values

寻找允许 BigDecimal 中空值的 BigDecimal 库?

出于数学目的,不应将 Null 视为 0。

public abc{
  private BigDecimal amount;
   getter();
   setter();...
}
Class main{
if(tempStr == null) {                   
    abc.setAmt(new BigDecimal(" "));
}else if (tempStr != null && !tempStr.equals(" ")) {
      abc.setAmt(new BigDecimal(tempStr));  
}}

金额应允许空值或空白。 金额也应接受零和其他数字。

我得到的 amt 为零而不是 null 或空白

在Java中null用来表示未定义的值。在您的示例中,这将如下所示:

if(tempStr == null) {                   
    abc.setAmt(null);
} ...

如果要检查字符串是否不为空,可以查看一些实用程序,例如 Apache Commons StringUtils:

if(StringUtils.isBlank(tempStr)) {                   
    abc.setAmt(null);
} ...

如果您想避免明确的 null 值,您可能需要考虑 Optional。但这是一个品味问题。