Я создал свою собственную утилиту форматирования. Который очень быстро обрабатывает форматирование и дает много возможностей :)
Поддерживает:
- Форматирование запятой Например, 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.23M». Возможно, я мог бы добавить поддержку десятичной дроби, но с тех пор я не видел в ней особой пользы, поэтому я мог бы также объединить ее с классом типа BigInteger, который обрабатывает сжатые массивы char [] для математических вычислений.