Я мог бы предложить один такой пример - японскую иену. В японской иене нет ничего, как 1,2 Йен; это всегда целое число, а наименьшее деноминация - 1 иен. Таким образом, никогда не будет десятичного места для суммы валюты в Йене.
В Индии 1 млн. Отображается как 10 000 000; в то время как в валюте США - 1 000 000.
Выполнить код, приведенный ниже, чтобы увидеть красоту местности для ряда:
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.Locale;
// The following example code demonstrates converting a number
// (double) into a formatted String according to different
// number formatting standards in various countries
public class FormatDecimalLocalFormat {
public static void main(String[] args) {
// circumference of earth in km
double number = 40075.168776;
// Germany
DecimalFormat df = (DecimalFormat) NumberFormat.getInstance(Locale.GERMAN);
System.out.println(df.format(number));
// United states
df = (DecimalFormat) NumberFormat.getInstance(Locale.US);
System.out.println(df.format(number));
// China
df = (DecimalFormat) NumberFormat.getInstance(Locale.CHINESE);
System.out.println(df.format(number));
// France
df = (DecimalFormat) NumberFormat.getInstance(Locale.FRENCH);
System.out.println(df.format(number));
}
}
Выход в подтверждение
Ваш код может быть полностью независимым от конвенций локали для знаков после запятой, тысячи -сепараторы или даже определенные десятичные цифры используемые числа или формат числа равно десятичной.
40.075,169
40,075.169
40,075.169
40 075,169
вы не ответили на мой вопрос – Rollerball
Тогда переформатировать ваш вопрос, пожалуйста. Я думаю, вы спросили, как изменение языка делает код/данные независимыми от представления; и этот рабочий код является лучшим примером для этого. – gyan
Я могу повторить это: вместо того, чтобы опробовать попытки приблизиться к ответу, потратьте время на выяснение вопроса, который, очевидно, кажется не таким ясным, как вы могли бы предположить. – pimpf0r