Я хочу проверить, является ли строка положительным натуральным числом, но я не хочу использовать Integer.parseInt()
, потому что пользователь может ввести число, большее, чем int. Вместо этого я предпочел бы использовать регулярное выражение для возврата false, если числовая строка содержит все символы «0».Регулярное выражение, чтобы проверить, является ли строка положительным натуральным числом
if(val.matches("[0-9]+")){
// We know that it will be a number, but what if it is "000"?
// what should I change to make sure
// "At Least 1 character in the String is from 1-9"
}
Примечание: строка должна содержать только 0
- 9
и она не должна содержать все 0
с; другими словами, он должен иметь не менее 1 символа в [1-9]
.
Можете ли вы уточнить, что вы подразумеваете под «положительным числом»? Является ли '2.5' положительным числом? Как насчет 'π'? –
обновлено -> положительное натуральное число – Tum