Cannot format given Object as a Number

23,264

Probably because you are passing the format instead of the string maybe.

BigDecimal constructor you are targeting takes a String (BigDecimal(String )) None of the DecimalFormat.format methods seem to take a String. Just create your BigDeciamal and then format if afterward. What type is notional anyway.

Found this thread which seems to do what you want.

Share:
23,264
T-student
Author by

T-student

https://github.com/frankbass3

Updated on July 16, 2022

Comments

  • T-student
    T-student almost 2 years

    this piece of code throw me: Cannot format given Object as a Number

      private BigDecimal notional;
    
     public String getNotional() {
        System.out.println("notional:" + notional);
        otherSymbols.setDecimalSeparator(',');
        otherSymbols.setGroupingSeparator('.'); 
        System.out.println("notional:" + notional);
        String format = df.format(notional);
        System.out.println("notional2:" + format);
    
    
        if(notional!=null)
        notional = new BigDecimal(df.format(notional));
        return notional.toString();
     }
    

    why?

       javax.el.ELException: /pages/emir/acknowledgedTransactions.xhtml @484,160 value="#{ackTxContractBean.firstleg.notional}":
        java.lang.IllegalArgumentException: Cannot format given Object as a Number
    

    notional: 2279713.86 notional2: 2.279.713,86