Форматы чисел и десятичных дробей
Ширина, точность и заполнение
«Форматы чисел и десятичных дробей» — бесплатный урок Java Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Java Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Java Academy содержит 4 уроков всего.
Форматирование чисел
Числам часто требуется особое форматирование: фиксированное количество знаков после запятой, заполнение или знак. Спецификаторы printf позволяют этим управлять.
В этом уроке рассматриваются %d для целых чисел и %f для чисел с плавающей точкой.
Спецификатор %f
%f форматирует число с плавающей точкой, например значение типа double или float.
По умолчанию %f показывает шесть знаков после запятой, что обычно больше необходимого.
public class Main {
public static void main(String[] args) {
System.out.printf("%f\n", 3.14);
}
}Управление дробной частью с помощью .2
Добавьте точность, например .2, между % и f, чтобы ограничить количество знаков после запятой. %.2f означает «два знака после запятой».
Значение округляется, а не просто обрезается.
public class Main {
public static void main(String[] args) {
System.out.printf("%.2f\n", 3.14159);
}
}Округление с помощью printf
Заданная точность округляет значение до ближайшего числа. %.0f не показывает дробную часть и округляет значение до целого числа.
Обратите внимание: это меняет только отображение числа, но не сохранённое значение.
public class Main {
public static void main(String[] args) {
System.out.printf("%.0f\n", 2.7);
}
}Пример с денежными значениями
Для денежных значений почти всегда используются два знака после запятой. %.2f отлично подходит для цен.
Объедините его с текстом, чтобы создать аккуратную строку.
public class Main {
public static void main(String[] args) {
double price = 9.5;
System.out.printf("Total: $%.2f\n", price);
}
}Минимальная ширина
Число между % и буквой задаёт минимальную ширину. %5d выводит целое число в поле шириной не менее 5 символов, заполняя его пробелами слева.
Это первый шаг к выравниванию столбцов.
public class Main {
public static void main(String[] args) {
System.out.printf("[%5d]\n", 42);
}
}Ширина и дробная часть
Ширину и точность можно объединять: %8.2f означает «ширина не менее 8 символов и 2 знака после запятой».
В ширину входят цифры, десятичный разделитель и пробелы для заполнения.
public class Main {
public static void main(String[] args) {
System.out.printf("[%8.2f]\n", 3.5);
}
}Заполнение нулями
Поставьте 0 сразу после %, чтобы использовать для заполнения нули вместо пробелов. %05d заполняет левую часть нулями.
Это удобно для идентификаторов фиксированной длины или цифр на часах, например 09.
public class Main {
public static void main(String[] args) {
System.out.printf("%05d\n", 42);
}
}Разделитель тысяч
Флаг с запятой %,d группирует цифры с помощью разделителей, делая большие числа более читаемыми.
Он также работает с %f, например в записи %,.2f.
public class Main {
public static void main(String[] args) {
System.out.printf("%,d\n", 1000000);
}
}Отображение знака плюс
Флаг + принудительно добавляет знак перед числом, даже если оно положительное. %+d выводит +5 вместо 5.
Это удобно для наглядного отображения прибыли и убытков.
public class Main {
public static void main(String[] args) {
System.out.printf("%+d and %+d\n", 5, -3);
}
}Шестнадцатеричная система с %x
Помимо десятичной системы, %x выводит целое число в шестнадцатеричной системе, а %o — в восьмеричной.
Чаще всего вы будете использовать %d и %f, но полезно знать о существовании других систем счисления.
public class Main {
public static void main(String[] args) {
System.out.printf("%x\n", 255);
}
}Быстрая проверка
Выберите правильный спецификатор.
Итоги
Теперь вы умеете управлять дробной частью с помощью %.2f, задавать ширину вроде %5d, заполнять поле нулями через %05d, группировать цифры с помощью %,d и принудительно добавлять знаки с помощью %+d.
Далее вы научитесь сохранять форматированный текст в строке String.
Часто задаваемые вопросы
Урок «Форматы чисел и десятичных дробей» бесплатный?
Да — полный текст урока «Форматы чисел и десятичных дробей» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Java Academy, подпишись на CoddyKit PRO. Курс Java Academy содержит 4 уроков всего.
Чему я научусь в уроке «Форматы чисел и десятичных дробей»?
Ширина, точность и заполнение Ты практикуешь Java Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Java Academy?
Предыдущий опыт не требуется. Java Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Форматы чисел и десятичных дробей»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Java Academy?
Да. Каждый урок Java Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Основы printf
- Форматы чисел и десятичных дробей
- String.format
- Выравнивание таблиц