Чтобы проверить, является ли значение числовым в Salesforce Apex, вы можете использовать различные методы. Вот некоторые часто используемые подходы с примерами кода:
-
Использование метода isNumeric():
String value = '12345'; Boolean isNumeric = value.isNumeric(); System.debug(isNumeric); // Output: true String nonNumericValue = 'Hello'; Boolean isNonNumeric = nonNumericValue.isNumeric(); System.debug(isNonNumeric); // Output: false
-
Использование регулярного выражения:
String value = '12345'; Boolean isNumeric = value.matches('^[0-9]+$'); System.debug(isNumeric); // Output: true String nonNumericValue = 'Hello'; Boolean isNonNumeric = nonNumericValue.matches('^[0-9]+$'); System.debug(isNonNumeric); // Output: false
-
Использование метода isNumeric() из класса Apex Number:
String value = '12345'; Boolean isNumeric = Number.isNumeric(value); System.debug(isNumeric); // Output: true String nonNumericValue = 'Hello'; Boolean isNonNumeric = Number.isNumeric(nonNumericValue); System.debug(isNonNumeric); // Output: false
-
Использование блока Try-Catch с методом parseDouble():
String value = '12345'; Boolean isNumeric; try { Double.parseDouble(value); isNumeric = true; } catch (NumberFormatException e) { isNumeric = false; } System.debug(isNumeric); // Output: true String nonNumericValue = 'Hello'; Boolean isNonNumeric; try { Double.parseDouble(nonNumericValue); isNonNumeric = true; } catch (NumberFormatException e) { isNonNumeric = false; } System.debug(isNonNumeric); // Output: false