Мы все знаем, что программам иногда необходимо форматировать числа, так что же такое форматирование чисел? Так называемое цифровое форматирование заключается в получении строки по заданному формату.
Например, предположим, что мы хотим, чтобы 3,141592 сохраняло до 2 десятичных знаков, тогда результирующая форматированная строка должна быть 3,14; если мы хотим, чтобы целое число 123456789 было сгруппировано по «тысячам», тогда результирующая форматированная строка должна быть 123 456 789, если мы хотим; число 12.3456, чтобы сохранить 3 знака после запятой, целая часть должна содержать не менее 3 цифр, тогда полученная форматированная строка должна быть 012.346.
До версии JDK 1.5 программам необходимо было использовать связанные классы в пакете java.text, такие как класс DecimalFormat , для форматирования числовых данных. Версия JDK 1.5 предоставляет более удобный класс Formatter . Класс Formatter предоставляет метод форматирования, аналогичный функции printf языка C:
формат (режим формата, список значений)
Этот метод возвращает строковое представление «списка значений» в соответствии с «режимом форматирования».
В настоящее время Java сделала метод форматирования статическим методом класса String. Таким образом, программа может напрямую использовать класс String для вызова метода форматирования для форматирования чисел.
«Режим форматирования» в методе format представляет собой последовательность символов, заключенную в двойные кавычки, то есть строку. Символы в этой последовательности символов состоят из символов формата и обычных символов.
Например: %d и %f в выходных результатах %d, %f, %d — это символы формата. Первые четыре китайских символа и две запятые в середине — это обычные символы. считается символ формата. Это обычный символ. Студенты могут обратиться к классу java.util.Formatter в API Java, чтобы узнать больше о символах формата. Строка, возвращаемая методом format, представляет собой строку после замены символов формата в «режиме форматирования» полученными результатами форматирования, например:
Strings=String.format(%.2f,3.141592);
Тогда s равно 3,14, поскольку результат форматирования %.2f 3.141592 равен 3,14.
«Список значений» в методе формата представляет собой список переменных, констант или выражений, разделенных запятыми. Убедитесь, что количество символов формата в «режиме формата» метода форматирования совпадает с количеством значений, перечисленных в «списке значений», например:
Strings=String.format(%d元%0.3fkg%d台,123 456,777888 999);
Тогда s составляет 123 юаня, 456,778 килограмма и 999 единиц.
По умолчанию метод форматирования использует символы формата в «режиме форматирования», чтобы слева направо форматировать соответствующие значения в «списке значений», тогда как обычные символы в «режиме форматирования» остаются неизменными, т.е. пример, предполагая тип int. Значения переменной x и двойной переменной y равны 123 и 3,1415926 соответственно, тогда для:
Strings=String.format(слева направо:%d,%.3f,%d,x,y,100);
Тогда s слева направо: 123,3,142,100.
Если вы не хотите использовать порядок форматирования по умолчанию (слева направо), вы также можете добавить символ индекса перед символом формата: index$, например, 1$ означает первое в «списке значений». ", 2$ означает "значение" 2 в списке" для:
Strings=String.format(не слева направо:%2$.3f,%3$d,%1$d,x,y,100);
Тогда s не слева направо: 3,142,100,123.
Примечание. Если вы планируете включать в «режим форматирования» обычные %, то при написании кода необходимо вводить два % последовательно, например:
Strings=String.format(%d%%,89);
Тогда s равно 89%.