question: public String formatAmt ( final String amt , final String amt_In ) { BigDecimal ammt = new BigDecimal ( 0.000 ) ; NumberFormat formatter ; formatter = new DecimalFormat ( "##############0.00" ) ; final int val = amt_In . equalsIgnoreCase ( "thousand" ) ? 1 : amt_In . equalsIgnoreCase ( "lakhs" ) ? 2 : 3 ; switch ( val ) { case 1 : ammt = BigDecimal . valueOf ( Double . parseDouble ( amt ) / 1000 ) ; ammt = ammt . setScale ( 2 , BigDecimal . ROUND_HALF_UP ) ; break ; case 2 : ammt = BigDecimal . valueOf ( Double . parseDouble ( amt ) / 100000 ) ; ammt = ammt . setScale ( 2 , BigDecimal . ROUND_HALF_UP ) ; break ; default : ammt = BigDecimal . valueOf ( Double . valueOf ( amt ) ) ; BigDecimal tmpAmt = new BigDecimal ( ammt . toBigInteger ( ) ) ; tmpAmt = tmpAmt . add ( BigDecimal . valueOf ( 0.5 ) ) ; if ( ammt . doubleValue ( ) > tmpAmt . doubleValue ( ) ) ammt = ammt . setScale ( 0 , BigDecimal . ROUND_HALF_UP ) ; } return formatter . format ( Double . valueOf ( ammt . toString ( ) ) ) ; }
target:  convert amount in rupeese to thousands or lakhs