РЕДАКТИРОВАТЬ: Обновление на основе предложения @ Алгар; Вы можете напрямую использовать:
char separatorChar = DecimalFormatSymbols.getInstance().getDecimalSeparator();
Поскольку он всегда будет возвращать экземпляр DecimalFormatSymbols
.
NumberFormat nf = NumberFormat.getInstance();
if (nf instanceof DecimalFormat) {
DecimalFormatSymbols sym = ((DecimalFormat) nf).getDecimalFormatSymbols();
char decSeparator = sym.getDecimalSeparator();
}
Документы:
NumberFormat
, DecimalFormat
, DecimalFormatSymbols
Согласно документам DecimalFormat, очевидно, что вызов NumberFormat.getInstance () безопасен, но может возвращать подкласс, отличный от DecimalFormat (другой вариант, который я вижу, - ChoiceFormat). Я считаю, что для большинства случаев это должен быть десятичный формат, и тогда вы можете сравнить decSeparator
с ,
и .
, чтобы увидеть, какой формат он использует.