Java | Фишки и трюки
7.21K subscribers
182 photos
29 videos
6 files
40 links
Java: примеры кода, интересные фишки и полезные трюки

Купить рекламу: https://telega.in/c/java_tips_and_tricks

✍️По всем вопросам: @Pascal4eg
Download Telegram
⌨️ DecimalFormat: сложные шаблоны для чисел

DecimalFormat из пакета java.text — мощный инструмент для форматирования чисел в сложных шаблонах. Он поддерживает различные настройки, включая разделители, округление, количество знаков после запятой и даже локализацию.

🔍 Простой пример: форматирование числа с фиксированным количеством знаков после запятой.

import java.text.DecimalFormat;

public class DecimalFormatExample {
public static void main(String[] args) {
DecimalFormat df = new DecimalFormat("#.00");
System.out.println(df.format(123.456)); // Вывод: 123.46
System.out.println(df.format(78)); // Вывод: 78.00
}
}


🔗 Ключевые символы шаблона:
# — необязательный знак (только значащие цифры).
0 — обязательный знак (добавляются нули, если цифр меньше).
, — разделитель тысяч.
. — десятичный разделитель.

📌 Сложный пример: форматирование с тысячными разделителями и символами валюты.

DecimalFormat df = new DecimalFormat("¤#,##0.00");
System.out.println(df.format(1234567.89));
// Вывод: ₽1 234 567,89


🔍 Локализация:
С помощью DecimalFormatSymbols можно изменить разделители и символы.

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

DecimalFormatSymbols symbols = new DecimalFormatSymbols(Locale.FRANCE);
symbols.setDecimalSeparator(',');
symbols.setGroupingSeparator('\'');
DecimalFormat df = new DecimalFormat("#,##0.00", symbols);
System.out.println(df.format(1234567.89)); // Вывод: 1'234'567,89


Когда использовать?
1️⃣ Для форматирования чисел в финансовых и аналитических приложениях.
2️⃣ Когда требуется гибкость с шаблонами или поддержка локализации.
3️⃣ Для генерации отчетов или красивого вывода данных.

#Java #DecimalFormat
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63😱1