в Java, используя номером по умолчанию, может привести к ошибкам при панели строк с запятыми в качестве десятичных сепараторов. Рассмотрим следующий код:
String p = "1,234"; Double d = Double.valueOf(p); System.out.println(d);
Этот код выбросит numberformatexception. Чтобы преодолеть эту проблему, удобным решением было бы заменить запятую период с использованием P.ReplAceall («,« »,« »). Однако есть ли более эффективный способ?
класс java.text.numberformat предлагает сложное решение. Это позволяет вам указать правила форматирования, специфичного для локализации, гарантируя, что десятичный сепаратор распознается правильно. Вот как использовать NumberFormat:
NumberFormat format = NumberFormat.getInstance(Locale.FRANCE); Number number = format.parse("1,234"); double d = number.doubleValue();
В этом коде мы создаем экземпляры NumberFormat для французской локали, где запятая используется в качестве десятичного сепаратора. Метод parse () преобразует строку в номерной объект, который затем мы преобразуем в двойной с использованием DoubleValue ().
]для поддержки приложений с несколькими языками, используйте следующий код:
NumberFormat format = NumberFormat.getInstance(Locale.getDefault());
это создаст NumberFormat для локали по умолчанию, которая является локалью операционной системы текущего пользователя.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3