
- •Интернет-программирование
- •ИП. Интернационализация
- •ИП. И. Субъекты локализации
- •ИП. И. Различия в дате и времени
- •ИП. И. Различия в числах
- •ИП. Интернационализация в Java. Региональный стандарт.
- •ИП. ИJ. Региональный стандарт.
- •ИП. ИJ. Региональный стандарт.
- •ИП. ИJ. Региональный стандарт.
- •ИП. ИJ. РC. Объект Locale
- •ИП. ИJ. РC. Объект Locale
- •ИП. ИJ. РC. Числа
- •ИП. ИJ. РC. Числа
- •ИП. ИJ. РC. Деньги
- •И!П. ИJ. РC. Преобразования
- •И!П. ИJ. РC. Преобразования
- •ИП. ИJ. РC. Преобразования
- •ИП. ИJ. РC. Преобразования
- •ИП. ИJ. РC. Дата и время
- •ИП. ИJ. РC. Дата и время. Форматирование
- •ИП. ИJ. РC. Дата и время. Форматирование
- •ИП. ИJ. РC. Дата и время. Календари
- •ИП. ИJ. РC. Дата и время. Календари
- •ИП. ИJ. РC. Дата и время. Календари
- •ИП. ИJ. РC. Дата и время. Календари
- •ИП. ИJ. РC. Дата и время. Календари
- •ИП. ИJ. РC. Строки
- •ИП. ИJ. РC. Строки
- •ИП. ИJ. РC. Строки. Форматирование
- •ИП. ИJ. РC. Строки. Форматирование
- •ИП. ИJ. РC. Строки. Форматирование
- •ИП. ИJ. РC. Строки. Форматирование
- •ИП. ИJ. РC. Строки. Форматирование
- •ИП. ИJ. РC. Строки. Форматирование. Обработка ошибок
- •ИП. ИJ. РC. Строки. Форматирование.
- •ИП. ИJ. РC. Строки. Форматирование
- •ИП. ИJ. РC. Строки. Форматирование
- •ИП. ИJ. РC. Строки. Форматирование
- •ИП. ИJ. РC. Строки. Форматирование
- •ИП. ИJ. РC. Строки. Форматирование
- •ИП. ИJ. РC. Строки. Форматирование
- •ИП. ИJ. РC. Строки. Форматирование
- •ИП. ИJ. РC. Строки. Форматирование
ИП. ИJ. РC. Строки. Форматирование |
МИЭТ, 2017 |
Категории типов преобразования
Общие
B,b (boolean), H,h (hash code), S,s (string)
Символьные
C,c (character)
Численные
Целые
D,d (decimal), O,o (octal), X,x (hexadecimal)
Вещественные
E,e (научный), f (float), G,g (переменный), A,a (hex)
Дата/время
T,t (time)
Процент
%
Перевод строки
n (new line)
ИП. ИJ. РC. Строки. Форматирование |
МИЭТ, 2017 |
Форматирование даты/времени
Тип преобразования даты/времени — двухсимвольный. (Второй символ — GNU date и POSIX strftime)
H — час 00-23, k — час 0-23
M — минуты 00-59
S — секунды 00-59
L — миллисекунды 000-999
z — смещение GMT (RFC 822)
Z — часовой пояс
B — месяц (полное название)
b — месяц (аббревиатура)
A — день недели (полное название)
a — месяц (аббревиатура)
C — год (00-99)
Y — год (0000-9999)
d — день месяца (01-31)
e — день месяца (1-31)
ИП. ИJ. РC. Строки. Форматирование |
МИЭТ, 2017 |
Форматирование даты/времени
Пример форматирования с использованием индекса аргумента:
Calendar c = ...;
String s1 = String.format("Duke's Birthday:
%1$tm %1$te,%1$tY", c);
ИП. ИJ. РC. Строки. Форматирование. Обработка ошибок |
МИЭТ, 2017 |
Ошибки форматирования
Исключения:
UnknownFormatConversionException или UnknownFormatFlagsException - если указан неизвестный спецификатор или флаг
IllegalFormatWidthException или
IllegalFormatPrecisionException если указана неправильная длина или точность
IllegalFormatConversionException если аргумент метода format не может быть преобразован
ИП. ИJ. РC. Строки. Форматирование. |
МИЭТ, 2017 |
Форматирование сообщений
Класс MessageFormat форматирует текст, содержащий фрагменты, представленные переменными.
String msg = MessageFormat.format("On {2}, a {0} destroyed {1} houses and caused {3} of damage", 99, new GregorianCalendar(1999, 0, 1).getTime(), 10.0E7);
Результат:
On 1/1/99 12:00 AM, a hurricane destroyed 99 houses and caused 100,000,000 of damage
ИП. ИJ. РC. Строки. Форматирование |
МИЭТ, 2017 |
Указание типа и стиля
String msg = MessageFormat.format("On
{2,date,long}, a {0} destroyed {1} houses and caused {3,number,currency} of damage", 99, new GregorianCalendar(1999, 0, 1).getTime(), 10.0E7);
Результат:
On January 1,1999, a hurricane destroyed 99 houses and caused $100,000,000 of damage
ИП. ИJ. РC. Строки. Форматирование |
МИЭТ, 2017 |
Типы и стили
Типы: |
Стили (date и time) |
number |
short |
time |
medium |
date |
long |
choice |
Full |
|
Стили (number) |
|
integer |
|
currency |
|
percent |
ИП. ИJ. РC. Строки. Форматирование |
МИЭТ, 2017 |
Формат выбора
Если переменная {1} = 1, результат:
On January 1,1999, a hurricane destroyed 1 houses and...
Необходимо: 0 – no houses 1 – one house 2 – 2 houses
...
{1, choice, 0#no houses|1#one house|2#{1}houses}
ИП. ИJ. РC. Строки. Форматирование |
МИЭТ, 2017 |
Формат выбора
Можно указать нестрогую границу: {-̃∞<no houses|0<one house|2≤{1} houses}
String pattern = "On {2,date,long}, {0} destroyed " + "{1,choice,0#no houses|1#one house|2#{1} houses}" + "and caused {3,number,currency} of damage.";
String pattern = "{0} zerstörte am {2,date,long} " + "{1,choise,0#kein Haus|1#ein Haus|2#{1} Häuser}" + "und richtete einen Schaden von" + "{3,number,currency} an.";
Методу format передается один и тот же массив с данными
ИП. ИJ. РC. Строки. Форматирование |
МИЭТ, 2017 |
Ресурсы
Все локализованные данные (текст, картинки и пр.) находятся в пакетах ресурсов (Resource Bundle)
Каждый пакет размещается в файле (файл свойств или класс)
Файл именуется по принципу: имя_пакета_язык_страна