String s = (String.format("%,d", 1000000)).replace(',', ' ');
Ответ 3
Вы не можете сделать это с помощью простой строки формата, но с классами DecimalFormat и DecimalFormatSymbols.
int value = 123456789;
DecimalFormat fmt = new DecimalFormat();
DecimalFormatSymbols fmts = new DecimalFormatSymbols();
fmts.setGroupingSeparator(' ');
fmt.setGroupingSize(3);
fmt.setGroupingUsed(true);
fmt.setDecimalFormatSymbols(fmts);
TextView txt = (TextView) findViewById(R.id.txt);
txt.setText(fmt.format(value));
В этих классах есть много и много других опций. Например, вы можете разделять числа точками или запятыми или использовать специфичные для локали настройки.
Например, вы можете использовать метод fmt.setCurrency: