Убедитесь, что строка двойная, без сбоев с NumberFormatException - PullRequest
0 голосов
/ 26 февраля 2019

Я бы хотел избежать try-catch, чтобы проверить, является ли строка действительно допустимым двойным значением.

В java-doc класса Double это показывает регулярное выражение для этого.Я нахожу это немного разочаровывающим, что они [Java Language / Std Lib.Специалисты] не просто решили добавить удобный метод для выполнения такой проверки или константы с этим регулярным выражением или шаблоном.

Кто-нибудь знает популярный пакет (например, такой как jakarta commons-math, который реализует такой тест?иметь некоторые реализации там.

1 Ответ

0 голосов
/ 26 февраля 2019

NumberUtils от Apache Commons предоставляет статический метод NumberUtils.isCreatable(someString), который проверяет, является ли действительный номер Java или нет.Вы можете прочитать полные документы по этой ссылке

пример кода:

public static void main(String[] args){
    String doubleString = "5.05";
    if(NumberUtils.isCreatable(doubleString){
         System.out.println("Yayy! a double");
    }else{
         System.out.println("Oops!!!");
    }
}

Зависимость требуется:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.7</version>
</dependency>
...