将布尔值转换为布尔值 (java)

Convert Boolean to boolean (java)

我正在尝试将字符串转换为 BigDecimal。

我发现我需要将 DecimalFormat 的 setparseBigDecimal 设置为 true 然后调用解析。不幸的是,我不断收到 setParseBigDecimal 只接受布尔值(不是布尔值)的错误。我明白了,所以我尝试这样做

DecimalFormat.setParseBigDecimal(Boolean.TRUE.booleanValue())

但我仍然得到同样的错误。我什至尝试了这些但仍然没有用

DecimalFormat.setParseBigDecimal(1)
DecimalFormat.setParseBigDecimal(true)
boolean x= true;
DecimalFormat.setParseBigDecimal(x)

这是代码。

DecimalFormat.setParseBigDecimal(Boolean.TRUE.booleanValue())
DecimalFormat.parse(AmountUtil.formatForSavingOrConversion(taxAmountList.get(i)),0)

如果您有 Boolean 的实例,将其用作 boolean 应该不会导致任何错误(其他方式并不总是有效)。但是,如果您 真的 想要 boolean 的实例,请使用以下两个之一:

Boolean object = new Boolean(<<<VALUE>>>);
boolean primitive = object;

Boolean object = new Boolean(<<<VALUE>>>);
boolean primitive = object.booleanValue();

Im trying to convert a String to BigDecimal

您的问题主题和您实际尝试做的事情具有误导性。要解析包含十进制数的字符串,您可以轻松地执行 -

String someValue = "99999999999999999999.99999";
BigDecimal someDecimal = new BigDecimal(someValue);

如果您的字符串包含逗号等,请先将其删除。

DecimalFormat.setParseBigDecimal(Boolean.TRUE.booleanValue())
DecimalFormat.parse(AmountUtil.formatForSavingOrConversion(taxAmountList.get(i)),0)

不会工作,因为 setParseBigDecimalparse 不是 static 方法,您需要先创建 DecimalFormat 的实例,然后才能使用它...

DecimalFormat df = new DecimalFormat();

然后...

df.setParseBigDecimal(Boolean.valueOf(true));
// or
df.setParseBigDecimal(true); 

工作正常。然后您将使用此实例来解析您需要的值