Разделение числа на разряды в Java

Есть условная переменная Int. Её нужно изменить так, чтобы оно выдавало не просто число "3434436", а "3,434,436". Уже пробовал через regex. Может я что-то не так делаю.


Ответы (3 шт):

Автор решения: Maxim

https://docs.oracle.com/javase/tutorial/java/data/numberformat.html

int value = 3434436;
String str = String.format(Locale.US, "%,d", value);

, Запятая - это разделитель групп. В зависимости от указанной локализации может оказаться вообще не запятой.

→ Ссылка
Автор решения: fox

ну или так)

   public class test {


    public static void main(String[] args) {
        int number = 3434436;
        System.out.printf(Locale.US, "%,d", number);
    }

}
→ Ссылка
Автор решения: Barmaley
int myInt = 3434436;
//дефолтный форматтер для текущей локали
DecimalFormat formatter = (DecimalFormat) NumberFormat.getInstance(); 
DecimalFormatSymbols symbols = formatter.getDecimalFormatSymbols(); 
symbols.setGroupingSeparator('\''); //разделитель тысяч '
formatter.setDecimalFormatSymbols(symbols);
System.out.println(formatter.format(myInt));
→ Ссылка