Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Языки программирования -> Бишоп Д. -> "Эффективная робота Java 2" -> 114

Эффективная робота Java 2 - Бишоп Д.

Бишоп Д. Эффективная робота Java 2 — Спб.: Питер, 2002. — 592 c.
ISBN 966-552-107-1
Скачать (прямая ссылка): effektivnayarabotajava2002.djvu
Предыдущая << 1 .. 108 109 110 111 112 113 < 114 > 115 116 117 118 119 120 .. 259 >> Следующая

В классе DecimalFormat имеются средства для формирования модели, которая может использоваться при форматировании. Однако, создавая такую модель, как ###0,###, надлежит учитывать, что при изменении количества символов # потребуются функции обработки строки* Мы вернемся к разговору о моделях во время настройки формата для вывода даты.
Денежные единицы
Мы можем задать вывод любой денежной единицы в удобной для нас форме. Для представления числа как денежной единицы предназначены следующие методы:
NumberFormat С = NumberFormat.getCurrencylnstance(ї;
System.out.println (C.format(1Q000)) ;
Они возвращают такой результат:
Задача. Требуется исследовать, какими будут результаты при поочередном обращении к разным объектам класса Locale для вывода денежных единиц.
Решение. Мы запустим небольшую программу, которая извлекает курсы обмена для пяти валют и выводит таблицу конвертирования в вымышленную денежную единицу грац.
Программа. Программа очень простая. Объект для форматирования валюты создается для каждого из используемых объектов класса Loca 1е. Указываются курсы, а затем выводятся суммы, полученные в результате конвертирования.
import java.text.*; import javagently.*; import java.util.*; import java.io.*;
510,000.0
Таблица конвертирования валют
256
Глаза 7. Форматирование
class Currency (
public static void main (String args []) throws IOException { Stream in = new Stream ("rates.dat",Stream,READ);
System.out .println ('‘Таблица соотношения валют" );
System.out. println (" — = = = = = = ^ 4) ;
System.out.println();
System.out.println("Курсы обмена:");
System, out .println ("дгагЧ^оллары^фунты^йены^ыарки^франки11) ;
double d = in.readDouble();
double p = in . readDouble () ;
double у — in,readDouble();
double m - in.readDouble<);
double f = in.readDoubleО;
System .out - println ("IN tn+d+,f \t” +p+ "\t"+y+11 \t" + га+,‘ \t" + f};
System.out.println();
NumberFormat Nd =
NumberFormat.getCurrencylnstance(Locale.US);
NumberFormat Np -
NumberFormat.getCurrencylnstance(Locale.UK);
NumberFormat Ny -
WumberFormat.getCurrencylnstance(Locale - JAPAN); NumberFormat Nm -
NumberFormat.getCurrencylnstance(Locale.GERMANY); NumberFormat Nf =
NumberFormat•getCurrencylnstance(Locale.FRANCE); for (int graz ~ 1000; graz < 10000; graz+=1000)
System.out.println(* G1+Text-writelnt[graz r 3) + *\t * +
Nd. format (graz/d) -I- 1 \tT +
Np.format(graz/p) -f 1\t* +
Ny.format(graz/y) + 1\t1 +
Nm.format[graz/m) + r\t' +
Nf.format(graz/f)) ;
Тестирование. Результат выполнения программы такдв:
Таблица соотношения валют
Курсы обмена:
Graz доллары фунты Йены марки франки
1 54,8845 8.047 0,0378 2.7361 0< ,8174
G1000 $204.73 124.27 26,455.03 365,48 DM 1 223,39 F
G2000 $409.46 248.54 52,910.05 7 30,97 DM 2 446,78 F
G3000 $614.19 372.81 79,365.0В 1.096,45 DM 3 670,17 F
G4Q00 $1,023.65 497.0В 105,820.11 1.461,93 DM 4 893,56 F
65000 $1,023.65 621.35 132,275.13 1.827,42 DM 6 116, 96 F
G6000 $1,228.38 745.62 158,730,16 2.192,90 DM 7 340,35 F
G7 000 $1,433,10 869.89 135,185.19 2.558*39 DM 8 563*74 F
G8000 §1,637.83 994,16 211,64 0,21 2.923,87 DM 9 787,13 F
G9Q00 $1,842.56 1,118 .43 238,095.24 3.289,35 DM 11 010,52 F
Форматирование чисел
257
Вывод довольно интересен, особенно если учесть, ;что почти все было сделано без нашего участия,
Ввод форматированных донных
В пакете java.text предоставляются средства для ввода форматированных данных в каждом из классов. При работе с форматированными данными не требуется следить за употреблением пробелов в качестве заполнителей и т.д. Эти значения необходимо вводить в специально отведенных местах строки. Они могут даже примыкать друг к другу, как в следующем примере:
76 89123 45 10 6100
Если эти значения представить в формате с максимальным и минимальным количеством цифр равным 3, результат получится таким: 768, 912, 345, 106 и 100.
Главной функцией при обработке вводимых данных в Java является синтаксический анализ, который аналогичен форматированию выводимых данных. Однако в настоящее время данные редко выводятся без разделителей. Недостаток синтаксического анализа с помощью объектов форматирования состоит в том, что результаты выводятся как объекты, поэтому приходится выполнять преобразование в примитивные типы.
7.5. Даты, календари и время
Класс Date, который входит в состав пакета java .util, представляет даты и время в виде, независимом от системных установок* Ниже приведена его полная спецификация:
Date ();
Date (long date);
boolean after (Date when);
boolean before (Date when);
boolean compareTo (Date ci);
boolean equals (Object obj);
long getTime (};
long setTime (long time);
Предыдущая << 1 .. 108 109 110 111 112 113 < 114 > 115 116 117 118 119 120 .. 259 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.