我试图将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)
答案 0 :(得分:1)
DecimalFormat.setParseBigDecimal(Boolean.TRUE.booleanValue())
DecimalFormat.parse(AmountUtil.formatForSavingOrConversion(taxAmountList.get(i)),0)
因为setParseBigDecimal
和parse
不是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);
如果您的字符串包含逗号等,请先将其删除。