Я створив власну утиліту форматування. Це надзвичайно швидко при обробці форматування, а також дає багато можливостей :)
Він підтримує:
- Форматування кома, наприклад, 1234567 стає 1,234,567.
- Префіксація "Тисяча (K), мільйон (M), мільярд (B), трильйон (T)".
- Точність від 0 до 15.
- Точне повторне розмір (Значить, якщо ви хочете 6-значну точність, але у вас є лише 3 наявні цифри, це примушує її до 3).
- Зниження префікса (означає, що обраний вами префікс занадто великий, він знижує його до більш підходящого префікса).
Код можна знайти тут . Ви називаєте це так:
public static void main(String[])
{
int settings = ValueFormat.COMMAS | ValueFormat.PRECISION(2) | ValueFormat.MILLIONS;
String formatted = ValueFormat.format(1234567, settings);
}
Я також повинен зазначити, що це не обробляє десяткової підтримки, але дуже корисно для цілих значень. Наведений вище приклад показав би «1,23М» як вихід. Можливо, я міг би додати підтримку десятків, але я не бачив занадто багато користі для цього, тому я міг би також об'єднати це в клас типу BigInteger, який обробляє стислі масиви char [] для математичних обчислень.