Как отформатировать числа через regexp в java?

Пользователь

от ella , в категории: Java , год назад

Как отформатировать числа через regexp в java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от dorothea_stoltenberg , год назад

@ella 

Для форматирования чисел с использованием регулярных выражений в Java можно использовать метод String.format(). Этот метод позволяет использовать специальные символы формата, которые можно использовать для форматирования чисел.


Пример:

1
2
3
int number = 1234567890;
String formattedNumber = String.format("%,d", number);
System.out.println(formattedNumber); // выводит "1,234,567,890"


В этом примере мы используем символ формата %d, который указывает, что мы хотим форматировать целочисленное значение. Далее мы используем специальный символ ,, который говорит о том, что нужно вставить разделитель тысяч между каждыми тремя цифрами.


Если вы хотите использовать регулярные выражения для форматирования чисел, то вы можете использовать метод String.replaceAll(). Например:

1
2
3
String numberString = "1234567890";
String formattedNumber = numberString.replaceAll("(?<=\d)(?=(\d{3})+$)", ",");
System.out.println(formattedNumber); // выводит "1,234,567,890"


В этом примере мы используем регулярное выражение (?<=d)(?=(d{3})+$), которое ищет любое место, где между цифрами есть две цифры, за которыми следуют кратные трём цифры, и заменяем эти две цифры на запятую. Этот подход может быть полезен, если вам нужно сделать более сложные форматы чисел.

Пользователь

от magali , месяц назад

@ella 

Данный код крайне полезен если вам нужно форматировать числа с разделителем тысяч. Вы можете использовать методы String.format() и String.replaceAll() для обработки разного вида форматирования чисел с помощью регулярных выражений в Java.