- •Интернет-программирование
- •ИП. ИJ. РC. Объект Locale
- •ИП. Интернационализация
- •ИП. И. Субъекты локализации
- •ИП. И. Различия в дате и времени
- •ИП. И. Различия в числах
- •ИП. Интернационализация в Java. Региональный стандарт.
- •ИП. ИJ. Региональный стандарт.
- •ИП. ИJ. Региональный стандарт.
- •ИП. ИJ. Региональный стандарт.
- •ИП. И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. Объект Locale |
МИЭТ, 2017 |
В Java существуют пресозданные объекты Locale:
Locale.US
Locale.GERMANY
Locale.CHINESE
Locale.TRADITIONAL_CHINESE
Local.UK
И т.д.
ИП. ИJ. РC. Числа |
МИЭТ, 2017 |
Формат вывода чисел
Для форматирования числа необходимо:
Получить объект регионального стандарта
Получить объект форматирования
Применить объект форматирования для форматирования числа или его разбора
ИП. ИJ. РC. Числа |
МИЭТ, 2017 |
Форматирование числа
Для форматирования чисел используется класс java.text.NumberFormat.
Locale locale = new Locale("de", "DE");
NumberFormat currFormat =
NumberFormat.getInstance(locale); double amount = 123456.78;
System.out.println(currFormat.format(currFormat));
Результат:
123,456.78
ИП. ИJ. РC. Деньги |
МИЭТ, 2017 |
Форматирование денежных единиц
Locale locale = new Locale("de", "DE");
NumberFormat currFormat = NumberFormat.getCurrencyInstance(locale);
double amount = 123456.78;
System.out.println(currFormat.format(currFormat));
Результат: 123,456.78 €
И!П. ИJ. РC. Преобразования |
МИЭТ, 2017 |
Преобразование строки в число
TextField input;
. . .
NumberFormat fmt = NumberFormat.getNumberInstance();
Number input = fmt.parse(input.getText().trim()); double x = input.doubleValue();
В случае ошибки преобразование генерируется исключение ParseException
И!П. ИJ. РC. Преобразования |
МИЭТ, 2017 |
Класс NumberFormat
static NumberFormat getCurrencyInstance(Locale inLocale)
static NumberFormat getInstance(Locale inLocale)
static NumberFormat getIntegerInstance(Locale inLocale)
static NumberFormat getNumberInstance(Locale inLocale)
static NumberFormat getPercentInstance(Locale inLocale)
String format(double number)
String format(long number)
ИП. ИJ. РC. Преобразования |
МИЭТ, 2017 |
Денежные единицы
Не решение проблемы:
NumberFormat dollarFormatter = NumberFormat.getNumberInstance(Locale.US);
NumberFormat euroFormatter = NumberFormat.getNumberInstance(Locale.GERMANY);
Так как вывод 100 000 будет: $100,000.00 100.000,00€
ИП. ИJ. РC. Преобразования |
МИЭТ, 2017 |
Денежные единицы
NumberFormat euroFormatter = NumberFormat.getNumberInstance();
euroFormatter.setCurrency(Currency.getInstance("EUR"));
NumberFormat dollarFormatter =
NumberFormat.getNumberInstance();
dollarFormatter.setCurrency(Currency.getInstance("USD"));
Коды валют (ISO-4217):
USD — доллар США
EUR — евро
GBP — Английский Фунт
RUB — Российский рубль
ИП. ИJ. РC. Дата и время |
МИЭТ, 2017 |
Дата и время
Особенности форматирования даты и времени:
Названия месяцев должны быть представлены на местном языке
Последовательность указания год-месяц-день различаются
Для отображения дат может быть использован не григорианский календарь
Следует учитывать часовые пояса
ИП. ИJ. РC. Дата и время. Форматирование |
МИЭТ, 2017 |
Форматирование даты и времени
DateFormat fmt = DateFormat.getDateInstance(dateStyle, locale);
DateFormat fmt = DateFormat.getTimeInstance(timeStyle, locale);
DateFormat fmt = DateFormat.getDateTimeInstance(dateStyle, timeStyle, locale);
Значения timeStyle:
DateFormat.DEFAULT
DateFormat.FULL (Friday, April 4, 2008 10:30:00 am PDT) DateFormat.LONG (April 4, 2008 10:30:00 pm PDT) DateFormat.MEDIUM (Apr 4, 2008 10:30:00 pm) DateFormat.SHORT (4/3/08 10:30:00pm)
