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

时间:2015-09-16 00:37:12

标签: java decimalformat

我试图将String转换为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)

3 个答案:

答案 0 :(得分:1)

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

因为setParseBigDecimalparse不是static方法而无法工作,您需要创建DecimalFormat的实例才能使用它... < / p>

DecimalFormat df = new DecimalFormat();

则...

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

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

答案 1 :(得分:0)

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

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

OR

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

答案 2 :(得分:0)

  

我试图将String转换为BigDecimal

您的问题主题以及您实际尝试做的事情是误导性的。要解析包含十进制数字的字符串,您可以轻松完成 -

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

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