CodeGym /وبلاگ جاوا /Random-FA /NumberFormatException در جاوا
John Squirrels
مرحله
San Francisco

NumberFormatException در جاوا

در گروه منتشر شد

NumberFormatException در جاوا چیست؟

"NumberFormatException هنگام تبدیل یک رشته غیر عددی به عدد پرتاب می شود."
به بیان ساده، اگر یک رشته فقط داده های عددی را در خود نگه ندارد و شما سعی کنید آن را به عدد تبدیل کنید، با این استثنا مواجه خواهید شد. این را می توان به شکل دیگری نیز تفسیر کرد. در صورتی که تبدیل String به عدد امکان پذیر نباشد از استثنا به عنوان نشانگر استفاده می شود. بر اساس نیاز شما، عدد می تواند یک عدد صحیح، شناور یا اعشاری باشد. به عنوان مثال، اگر رشته ورودی شامل تمام حروف، کاراکترهای عددی یا کاراکترهای خاص باشد و شما سعی کنید از رشته به عدد صحیح تبدیل کنید ، یک NumberFormatException پرتاب می‌شود.

مثال

برای درک این موضوع به یک مثال ساده نگاه می کنیم.
import java.util.Date;

public class NumberFormatExceptionTestDriver {

	public static void main(String[] args) {

		try {
			// a valid Integer number in the input String
			String inputString = "2550";
			System.out.println("Integer.pareseInt(" + inputString + ") = " + Integer.parseInt(inputString));
		} catch (NumberFormatException e) {
			// java.lang.NumberFormatException will be thrown if the
			// input string can not be converted to a valid integer
			System.out.println("\nNumberFormatException thrown! " + e.getMessage());
		}

		try {
			// a floating number in the input String
			// use Float.parseFloat(inputString) to avoid this exception
			String inputString = "255.0";
			System.out.println("Integer.pareseInt(" + inputString + ") = " + Integer.parseInt(inputString));
		} catch (NumberFormatException e) {
			System.out.println("\nNumberFormatException thrown! " + e.getMessage());
		}

		try {
			Date day = new Date();
			// date containing alpha-numeric data in the input string
			String inputString = day.toString();
			System.out.println("Integer.pareseInt(" + inputString + ") = " + Integer.parseInt(inputString));
		} catch (NumberFormatException e) {
			System.out.println("\nNumberFormatException thrown! " + e.getMessage());
		}

		try {
			// numbers with spaces in the input string
			String inputString = "1 2 3";
			System.out.println("Integer.pareseInt(" + inputString + ") = " + Integer.parseInt(inputString));
		} catch (NumberFormatException e) {
			System.out.println("\nNumberFormatException thrown! " + e.getMessage());
		}

		try {
			// all letters in the input string
			String inputString = "Lubaina Khan";
			System.out.println("Integer.pareseInt(" + inputString + ") = " + Integer.parseInt(inputString));

		} catch (NumberFormatException e) {
			System.out.println("\nNumberFormatException thrown! " + e.getMessage());
		}
	}
}

خروجی

Integer.pareseInt(2550) = 2550 NumberFormatException پرتاب شد! برای رشته ورودی: "255.0" NumberFormatException پرتاب شد! برای رشته ورودی: "چهارشنبه 11 اوت 08:18:21 PKT 2021" NumberFormatException پرتاب شد! برای رشته ورودی: "1 2 3" NumberFormatException پرتاب شد! برای رشته ورودی: "Lubaina Khan"

نتیجه

امیدواریم متوجه شده باشید که چرا NumberFormatException در جاوا بوجود می آید. اگر علت اصلی را درک کرده باشید، همیشه می توانید دلیل را شناسایی کرده و آن را اصلاح کنید. اگر هنوز در مورد این مفهوم واضح نیستید، اشتباهات بیشتری مرتکب شوید و با چرایی و چگونگی این مشکل آشنا خواهید شد. تا آن زمان به رشد خود ادامه دهید و به یادگیری ادامه دهید.
نظرات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION