Я написал программу для возврата двойных значений с символами валюты некоторых стран.Для этого я использую getCurrencyInstance()
метод, чтобы получить символ конкретной страны.
Проблема специфична для моего ноутбука JDK-1.8 и отлично работает на онлайн-компиляторе.Проблема, с которой я сталкиваюсь, состоит в том, что символ валюты для КИТАЙ и ФРАНЦИЯ обозначен знаком??.Но для INDIA и US отображаются правильные символы.
Сейчас я немного работаю над этой проблемой.Следовательно, любые выводы будут полезны.
Вот мой код:
import java.util.Scanner;
import java.text.NumberFormat;
import java.util.Locale;
public class Solution {
public static void main(String[] args) {
/* Read input */
Scanner scanner = new Scanner(System.in);
double payment = scanner.nextDouble();
scanner.close();
/* Create custom Locale for India.
Locale indiaLocale = new Locale("en", "IN");
/* Create NumberFormats using Locales */
NumberFormat us = NumberFormat.getCurrencyInstance(Locale.US);
NumberFormat india = NumberFormat.getCurrencyInstance(indiaLocale);
NumberFormat china = NumberFormat.getCurrencyInstance(Locale.CHINA);
NumberFormat france = NumberFormat.getCurrencyInstance(Locale.FRANCE);
/* Print output */
System.out.println("US: " + us.format(payment));
System.out.println("India: " + india.format(payment));
System.out.println("China: " + china.format(payment));
System.out.println("France: " + france.format(payment));
}
}
Соответствующий вывод на моей машине:
12324.134
US: $12,324.13
India: Rs.12,324.13
China: ?12,324.13
France: 12 324,13 ?