Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
21 ошибка прогр... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
ТЕХНОЛОГИИ ДОСТ... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Имитационное мо... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Реклама
Сейчас на сайте
Гостей: 28
На сайте нет зарегистрированных пользователей

Пользователей: 13,361
новичок: uehuat
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Движение шарика в эллиптическои параболоиде на Delphi [OpenGL] + Блок схемы
Моделирование работы участка термической обработки шестерен на GPSS + По...
Компьютерный магазин на Turbo Pascal (База данных) + Пояснительная записка

Форматирование выводимых данных
Числовое значение х можно вывести на консоль с помощью выражения System, out .println (х). В результате на экране отобразится число с максимальным количеством значащих цифр, допустимых для данного типа. Так, в результате выполнения приведенного ниже фрагмента кода на экран будет выведено число
3333.3333333333335.
double х = 10000.0 / 3.0; System.out.print(x);



В ряде случаев это вызывает осложнения. Так, если требуется вывести на экран сумму в долларах и центах, большое количество цифр ее затруднит восприятие.
В ранних версиях Java процесс форматирования чисел был сопряжен с определенными трудностями. К счастью, в версии Java SE 5.0 была реализована в виде метода printf () почтенная функция, хорошо известная из библиотеки С.
Например, с помощью приведенного ниже оператора можно вывести значение х в виде числа, ширина поля которого составляет 8 цифр, а дробная часть равна двум цифрам. (Число цифр дробной части иначе называется точностью.)
System.out.printf("%8.2f", x) ;




В результате на экран будет выведено семь символов, не считая начальных пробелов.
3333.33



Метод printf () позволяет задавать произвольное количество параметров. Ниже приведен пример вызова этого метода с несколькими параметрами.
System.out.printf("Hello, %s. Next year, you'll be %d", name, age);



Каждый спецификатор формата, начинающийся с символа %, заменяется соответствующим параметром. А символ преобразования, которым завершается спецификатор формата, задает тип форматируемого значения: f — число с плавающей точкой; s — символьная строка; d — десятичное число. Все символы преобразования приведены в табл. 3.5.
Таблица 3.5. Символы преобразования для метода printf ()
Символы преобразования для метода printf ()
В спецификаторе формата могут также присутствовать флаги, управляющие форматом выходных данных. Назначение всех флагов вкратце описано в табл. 3.6. Например, запятая, указываемая в качестве флага, добавляет разделители групп. Так, в результате выполнения приведенного ниже оператора на экран будет выведена строка 3,333.33.
System.out.printf ("%,.2f", 10000.0 / 3.0);



В одном спецификаторе формата можно использовать несколько флагов, например, последовательность символов "%, (.2f" указывает на то, что при выводе будут использованы разделители групп, а отрицательные числа будут заключены в скобки.


НА ЗАМЕТКУ! Преобразование типа s можно использовать для форматирования любого объекта. Если этот объект реализует интерфейс Formattable, то вызывается метод formatTo (). В противном случае для преобразования объекта в символьную строку применяется метод toString (). Метод toString () будет обсуждаться в главе 5, а интерфейсы — в главе 6.
При работе на компьютере часто бывает необходимо спрятать свой реальный IP адрес. В этом вопросе вам поможет прокси анонимайзер, который вы сможете найти тут.

Таблица 3.6. Флаги для метода printf ()
Флаги для метода printf ()
Для составления отформатированной символьной строки без последующего ее вывода можно вызвать статический метод String.format (), как показано ниже.
String message =
String.format("Hello, %s. Next year, you'll be %d", name, age);



Несмотря на то что тип Date будет подробно рассмотрен лишь в главе 4, для того чтобы завершить обсуждение метода printf О, следует хотя бы бегло коснуться средств форматирования даты и времени. Для этой цели используется последовательность из двух символов, начинающаяся с буквы t, после которой следует одна из букв, приведенных в табл. 3.7. Ниже приведен пример такого форматирования.
System, out .printf ("%tc", new DateO);



В результате выполнения данного оператора выводятся текущая дата и время:
Mon Feb 09 18:05:19 PST 2012



Как следует из табл. 3.7, некоторые форматы предполагают отображение лишь отдельных составляющих даты — дня или месяца. Было бы неразумно многократно задавать дату лишь для того, чтобы отформатировать различные ее составляющие. По этой причине в строке, определяющей формат даты, может задаваться индекс форматируемого параметра. Индекс должен следовать сразу после знака % и завершаться знаком $, как показано ниже.
System.out.printf("%l$s %2$tB %2$te, %2$tY", "Due date:", new DateO);


В результате выполнения этой строки кода будет выведена следующая строка:
Due date: February 9, 2012



Можно также воспользоваться флагом <, который означает, что форматированию подлежит тот же самый параметр, который был отформатирован последним. Так, приведенная ниже строка кода дает точно такой же результат, как и упомянутая выше.
Опубликовал Kest November 29 2014 14:08:49 · 0 Комментариев · 3808 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
Алгоритм трассиро...
AdBlaster v2.5 - ...
Программирование ...
Blobs [Исходник н...
ZipForge
Программирование ...
Введение в станда...
PHP 5 в подлинник...
Система баннеро-о...
EditNew
Разработка распре...
Prolog Interprete...
Drag&Drop
SynEdit
Добавление басса ...
Нестандартные при...
DiZsubmit
PHP/MySQL для нач...
Пример работы с ф...
45 уроков по дельфи

Топ загрузок
Приложение Клие... 100772
Delphi 7 Enterp... 97809
Converter AMR<-... 20260
GPSS World Stud... 17014
Borland C++Buil... 14189
Borland Delphi ... 10267
Turbo Pascal fo... 7372
Калькулятор [Ис... 5972
Visual Studio 2... 5206
Microsoft SQL S... 3661
Случайные статьи
Перспективы свопинга
расчёт в операторах
Доставка и обработ...
Восклицательный знак
Удаление узлов из ...
Обработка строк в ...
1. Вы мэр небольшо...
Режим “Портрет” и...
Освоение приложени...
ФОРМЫ НЕСТАНДАРТНО...
Matrix: срезка дву...
Конструкторы
ADO.NET как базовы...
Модуль Metainforma...
Стандартные подпро...
Ограничение объясн...
ЦЕЛЬ: ПОДДЕРЖКА МА...
Лабораторное занят...
5.1. Автоматизация...
Операторы прерыван...
Элементы applet и ...
Особенности обрабо...
Применение избыточ...
Программирование: ...
Отключение шифрова...
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?