Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






  • Сервис онлайн-записи на собственном Telegram-боте
    Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое расписание, но и напоминать клиентам о визитах тоже. Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
    Для новых пользователей первый месяц бесплатно.
    Чат-бот для мастеров и специалистов, который упрощает ведение записей:
    Сам записывает клиентов и напоминает им о визите;
    Персонализирует скидки, чаевые, кэшбэк и предоплаты;
    Увеличивает доходимость и помогает больше зарабатывать;
    Начать пользоваться сервисом
  • Интернационализация чисел






    Стандарты представления дат и чисел в различных странах могут существенно отличаться. Например, в Германии строка «1.234, 567» воспринимается как «одна тысяча двести тридцать четыре целых пятьсот шестьдесят семь тысячных», для русских и французов данная строка просто непонятна и не может представлять число.

    Чтобы сделать такую информацию конвертируемой в различные региональные стандарты, применяются возможности класса java.text.NumberFormat.

    Первым делом следует задать или получить текущий объект Locale с шаблонами регионального стандарта и создать с его помощью объект форматирования NumberFormat. Например:

    NumberFormat nf = NumberFormat.getInstance(new Locale(" RU"));

    с конкретными региональными установками или с установленными по умолчанию для приложения:

    NumberFormat.getInstance();

    Далее для преобразования строки в число и обратно используются методы Number parse(String source) и String format(double number) соответственно.

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

    // # 7 # региональные представления чисел # DemoNumberFormat.java

    package by.bsac.num;

    import java.text.*;

    import java.util.Locale;

    public class DemoNumberFormat {

    public static void main(String args[ ]) {

    NumberFormat nfGe = NumberFormat.getInstance(Locale.GERMAN);

    NumberFormat nfUs = NumberFormat.getInstance(Locale.US);

    NumberFormat nfFr = NumberFormat.getInstance(Locale.FRANCE);

    double iGe = 0, iUs = 0, iFr = 0;

    String str = " 1.234, 5"; // строка, представляющая число

    try {

    // преобразование строки в германский стандарт

    iGe = nfGe.parse(str).doubleValue();

    // преобразование строки в американский стандарт

    iUs = nfUs.parse(str).doubleValue();

    // преобразование строки во французский стандарт

    iFr = nfFr.parse(str).doubleValue();

    } catch (ParseException e) {

    System.err.print(" Error position: " + e.getErrorOffset());

    }

    System.out.printf(" iGe = %f\niUs = %f\niFr = %f", iGe, iUs, iFr);

    // преобразование числа из германского в американский стандарт

    String sUs = nfUs.format(iGe);

    // преобразование числа из германского во французский стандарт

    String sFr = nfFr.format(iGe);

    System.out.println(" \nUs " + sUs + " \nFr " + sFr);

    }

    }

    Результат работы программы:

    iGe = 1234, 500000

    iUs = 1, 234000

    iFr = 1, 000000

    Us 1, 234.5

    Fr 1 234, 5

    Аналогично выполняются переходы от одного регионального стандарта к другому при отображении денежных сумм с добавлением символа валюты.

     






    © 2023 :: MyLektsii.ru :: Мои Лекции
    Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
    Копирование текстов разрешено только с указанием индексируемой ссылки на источник.