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()));
}

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 ( ) ) ) ; }
convert amount in rupeese to thousands or lakhs
