/******************************************************************************
* Example of formatting using NumberFormat class
* You can format currency, percentages, and regular numbers                     
******************************************************************************/
import java.text.NumberFormat;              

public class NumberFormat1
{
    public static void main(String[] arguments) 
    {
        int    amount1 = 1234567;
        double amount2 = 14250.5;
        double amount3 = 12340.547;
        double amount4 = .536;

        System.out.println("The original amount1 is.:  " + amount1);
        System.out.println("The original amount2 is.:  " + amount2);
        System.out.println("The original amount3 is.:  " + amount3);
        System.out.println("The original amount4 is.:  " + amount4);
        System.out.println();

        NumberFormat pattern1 = NumberFormat.getNumberInstance();
        String       s1       = pattern1.format(amount1);
        System.out.println("amount1 using std format: \t  " + s1);


        NumberFormat pattern2 = NumberFormat.getNumberInstance();
        String       s2       = pattern2.format(amount2);
        System.out.println("amount2 using std format: \t  " + s2);

        pattern2.setMinimumFractionDigits(2);               //set minimum fraction
        s2 = pattern2.format(amount2);
        System.out.println("amount2 with 2dec places: \t  " + s2);


        NumberFormat pattern3 = NumberFormat.getNumberInstance();
        String       s3       = pattern3.format(amount3);
        System.out.println("amount3 using std format: \t  " + s3);

        pattern3.setMaximumFractionDigits(1);               //set maximum fraction
        s3 = pattern3.format(amount3);
        System.out.println("amount3 with 1dec places: \t  " + s3);

        pattern3.setMaximumFractionDigits(0);
        s3 = pattern3.format(amount3);
        System.out.println("amount3 with 0dec places: \t  " + s3);

        pattern3.setMinimumFractionDigits(4);
        pattern3.setMinimumIntegerDigits(8);
        s3 = pattern3.format(amount3);
        System.out.println("amount3 with 8.4 format.: \t  " + s3);

        pattern3.setMaximumFractionDigits(2);
        pattern3.setMaximumIntegerDigits(2);
        s3 = pattern3.format(amount3);
        System.out.println("amount3 with 2.2 format.: \t  " + s3);

        NumberFormat currency = NumberFormat.getCurrencyInstance();
        String       s4       = currency.format(amount3);
        System.out.println("amount3 using currency format: \t  " + s4);

        NumberFormat percent  = NumberFormat.getPercentInstance();
        String       s5       = percent.format(amount4);
        System.out.println("amount4 using percent fomrat: \t  "  + s5);
    }
}