0Pricing
Java Academy · Урок

Форматы чисел и десятичных дробей

Ширина, точность и заполнение

«Форматы чисел и десятичных дробей» — бесплатный урок 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 — локальная установка не требуется.

Все уроки этого курса

  1. Основы printf
  2. Форматы чисел и десятичных дробей
  3. String.format
  4. Выравнивание таблиц
← Назад к Java Academy