

import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.text.ParsePosition;
import java.util.Locale;

public class ParseTest {

    public static void main(String[] args) {
        new ParseTest().test01();
    }

    private void test01() {

        boolean passed = false;
        DecimalFormat df = new DecimalFormat("#,##0.###", new DecimalFormatSymbols(Locale.ENGLISH));
        df.setParseIntegerOnly(true);
        String[] texts = {"-.0123", ".12345670"};
        for (String text : texts) {
            ParsePosition pp = new ParsePosition(0);
            try {
                Number parsedNumber = df.parse(text, pp);
                if (parsedNumber != null) {
                     System.out.println(" FAILED : parsed value for "+text+"   = " + parsedNumber);
                } else {
                    passed = true;
                    System.out.println(" Passed : parsedNumber for "+text+" is null");
                }
                if (passed && !(pp.getIndex() == 0)) {
                    System.out.println("FAILED :  expected index = 0");
                }
            } catch (Exception e) {
                System.out.println("FAILED : Unexpected Ex " + e.getMessage());
            }
        }

    }
}
