![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Далее для преобразования строки в число и обратно используются методы Number parse(String source) и String format(double number) соответственно.
В предлагаемом примере производится преобразование строки, содержащей число, в три различных региональных стандарта, а затем одно из чисел преобразуется из одного стандарта в два других.
// пример # 17: региональные представления чисел: DemoNumberFormat.java
package chapt07;
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,567"; //строка, представляющая число
try {
//преобразование строки в германский стандарт
iGe = nfGe.parse(str).doubleValue();
//преобразование строки в американский стандарт
iUs = nfUs.parse(str).doubleValue();
//преобразование строки во французский стандарт
iFr = nfFr.parse(str).doubleValue();
} catch (ParseException e) {
e.printStackTrace();
}
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("\n" + sUs + "\n" + sFr);
}
}
Результат работы программы:
iGe = 1234,567000
iUs = 1,234000
iFr = 1,000000
1,234.567
1 234,567
Аналогично выполняются переходы от одного регионального стандарта
к другому при отображении денежных сумм.
Интернационализация дат
Учитывая исторически сложившиеся способы отображения даты и времени в различных странах и регионах мира, в языке создан механизм поддержки всех национальных особенностей. Эту задачу решает класс java.text.DateFormat. С его помощью учтены: необходимость представления месяцев и дней недели на национальном языке; специфические последовательности в записи даты и часовых поясов; возможности использования различных календарей.
Процесс получения объекта, отвечающего за обработку регионального стандарта даты, похож на создание объекта, отвечающего за национальные представления чисел, а именно:
DateFormat df = DateFormat.getDateInstance(
DateFormat.MEDIUM, new Locale("BY"));
или по умолчанию:
Дата публикования: 2015-01-23; Прочитано: 196 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!