инструменты/java/java format string
// javanew

java format string

живой предпросмотр String.format и MessageFormat

// browser
// предпросмотр появится здесь
// proсинхронизация историиpro·пакетная генерация через APIproподробнее →

// о инструменте

В Java два механизма форматирования строк: String.format (printf-стиль: %s, %d, %f с флагами, шириной и точностью) и MessageFormat ({0}, {1,number,currency} с типом и стилем). Инструмент разбирает строку формата, определяет каждый плейсхолдер, позволяет ввести значение для каждого и показывает результат в реальном времени.

// когда использовать

  • Убедиться, что String.format-вызов даёт ожидаемый результат до деплоя
  • Разобраться с нужными флагами для zero-padded целых или чисел с группировкой (%,d vs %05d)
  • Протестировать MessageFormat-паттерн с разными числовыми значениями перед использованием в i18n-бандле
  • Понять, что выведет %.2f в отличие от %10.2f для данного числа с плавающей точкой

// faq

В чём разница между String.format и MessageFormat?
String.format использует C-style % спецификаторы (%s, %d, %f) — наиболее распространённый выбор для одноязычных приложений. MessageFormat использует позиционные плейсхолдеры {0}, {1} и добавляет форматирование с учётом типа ({0,number,currency}, {0,date,short}) — он создан для интернационализированных сообщений, где порядок аргументов может отличаться в разных локалях.
Предпросмотр полностью совпадает с выводом Java?
Для большинства распространённых спецификаторов — очень близко. Форматирование с учётом локали (разделители десятичных, символы валют) использует браузерный Intl API, который может отличаться от дефолтной локали JVM. Для production-валидации тестируй в реальном Java-окружении.
// история
Pro Облачная синхронизация — подробнее
операций пока нет