loading

프로그래밍/JAVA

[JAVA] Cannot cast from Float to int 에러 해결

침착곰 2021. 5. 16. 15:42
반응형

안녕하세요

오늘도 자바 프로그래밍을 하는 중에 Float를 Int로 변환하는 중에 이런 에러가 떴습니다

Cannot cast from Float to int

이번 포스팅에서는 에러가 뜬 원인과 해결방법에 대해서 알아보겠습니다!

 


 

에러 원인

"Cannot cast from Float to int"를 해석하면

Float를 int로 캐스팅할 수 없다는 의미입니다

에러가 떴을 당시의 코드입니다

예전에는 float에서 int로 바로 변환이 되었는데 float에서 int로 변환하기 위해서는 실수를 정수로 처리하는 작업이 필요합니다

public class CastingSI3 {
	public static void main(String[] args)  {
		// Float -> Int
		Float f = 100.50f;
		System.out.println("Float -> Int : " + ((int) f));
	}
}

 


 

해결 방법

에러를 해결한 방법은 간단합니다

float에 Math메서드를 사용하여 반올림, 올림, 내림 처리를 해주면 됩니다

에러를 해결한 코드를 확인해보겠습니다

public class CastingSI3 {
	public static void main(String[] args)  {
		// Float -> Int
		Float f = 100.50f;
		System.out.println("Float -> Int : " + ((int) Math.round(f)));
	}
}

 

이렇게 에러를 해결했습니다

에러로 고생하는 개발자분들에게 제 글이 도움이 되었으면 좋겠습니다 ㅠ

감사합니다!

반응형
그리드형