Как проверить, является ли строка числом в Java?
مرحباً بالجميع! أنا مطور Java مبتدئ وقد واجهت مشكلة: أحتاج للتحقق مما إذا كانت السلسلة تحتوي على أرقام فقط أو يمكن تحويلها إلى رقم. على سبيل المثال، لدي إدخال من المستخدم وأريد التأكد من أنه رقم بالفعل قبل إجراء العمليات الحسابية عليه.
إليك ما جربته:
String input = "123";
if (input.matches("\\d+")) {
int number = Integer.parseInt(input);
System.out.println("Это число: " + number);
}
لكن هذا يعمل فقط مع الأعداد الصحيحة الموجبة. ماذا عن الأعداد السالبة، والأعداد العشرية (مثل "3.14")، أو الأعداد بالترميز العلمي (مثل "1.5e10")؟ لاحظت أيضاً أن طريقة `Integer.parseInt()` ترمي استثناء `NumberFormatException` إذا كانت السلسلة ليست عدداً صحيحاً صحيحاً. كيف يمكن معالجة جميع هذه الحالات بشكل صحيح؟
أحتاج إلى حل موثوق يعمل من أجل:
- الأعداد الصحيحة (الموجبة والسالبة)
- الأعداد العشرية
- الأعداد بالترميز العلمي