How to add empty space inside int?

You can also try DecimalFormat;

DecimalFormat formatter = new DecimalFormat("#,###");
System.out.println(formatter.format(100000));

Results:

1000>>1,000
10000>>10,000
100000>>100,000
1000000>>1,000,000

You can try like this:

String.format("%.2fM", yourNumber/ 1000000.0);

This will display the numbers in the format

1,000,000 => 1.00M
1,234,567 => 1.23M

EDIT:-

I know its a late edit but yes there is one more way:

private static String[] suff = new String[]{"","k", "m", "b", "t"};
private static int MAX_LENGTH = 4;

private static String numberFormat(double d) {
    String str = new DecimalFormat("##0E0").format(d);
    str = str.replaceAll("E[0-9]", suff[Character.getNumericValue(str.charAt(str.length() - 1)) / 3]);
    while(str.length() > MAX_LENGTH || str.matches("[0-9]+\\.[a-z]")){
        str = str.substring(0, str.length()-2) + str.substring(str.length() - 1);
    }
    return str;
}

Call this function and you will get the output as follows:

201700 = 202k
3000000 = 3m
8800000 = 8.8m

You can use decimal format to format the string

    DecimalFormat decimalFormat = new DecimalFormat("###,###,###");
    System.out.println(decimalFormat.format(100000000));

This will print 100,000,000

For other input - say 1000 it would print 1,000