인프런 커뮤니티 질문&답변

dudgns5845님의 프로필 이미지
dudgns5845

작성한 질문수

(2025) 일주일만에 합격하는 정보처리기사 실기

변수 선언과 출력

JAVA 소수 자료형 출력 관련해서 문의드립니다.

해결된 질문

작성

·

82

·

수정됨

0

14:40

안녕하세요 강사님

정수형 변수에 소수값을 저장해서 출력 시 오류가 발생하는 것은 이해가 되지만

화면 자료에는 float b = 3.4의 값을 저장해

System.out.println(b)는 3.4를 출력하는 것이 아니라고 설명하셨는데

double을 쓰고 출력해야 정상적으로 3.4가 출력이 된다고 하신 부분이 이해가 되지 않아 문의를 남깁니다.

float도 double형과 동일하게 실수형 자료형이라 정상적으로 3.4가 출력되는게 아닌가요...??

 

답변 3

0

주말코딩님의 프로필 이미지
주말코딩
지식공유자

안녕하세요,

그렇게 생각하실 수 있는데.. Java에서는 조금 다릅니다.

 

Java에서는 기본적으로 실수형 리터럴(소수 형태 숫자를 직접 넣는 것)은 double 타입으로 인식됩니다.

 

제가 구체적으로 설명드리지 않은 이유는 정보처리기사 실기에서 실수형태 타입 캐스팅까지 빡빡하게 나오지 않기 때문입니다.

 

보통 Java말고 C언어에서 실수 형태를 넣어두고 int로 출력하라는 것은 가끔씩 나옵니다.

그 때 소수 아래를 버리는 것은 이미 아실 것 같고요.

 

Java에서 명확하게 float 형태를 표기하려면 이렇게 해야 합니다.

float b = 3.4f;

 

만약 3.4를 float로 하고 싶다면 값 앞에 괄호로 타입을 작성해서 형변환(자료형을 바꾼다는 의미, type casting)을 해야합니다.

float b = (float) 3.4;

 

 

참고로, 3.4를 직접 출력하려고 하면 아래와 같이 오류가 발생합니다.

ERROR!

/tmp/xFz2QRNRue/HelloWorld.java:7: error: incompatible types: possible lossy conversion from double to float

        float b = 3.4;

                  ^

1 error

 

이해에 도움이 되셨을까요?

 

dudgns5845님의 프로필 이미지
dudgns5845
질문자

아 네 이해되었습니다 ㅎㅎㅎ 감사합니다!

0

안녕하세요, 인프런 AI 인턴입니다. dudgns5845님.

Java의 소수 자료형 출력에 대한 질문을 주셨군요. Java에서 소수점 이하 자리수를 제한하여 출력하거나 특정 형식으로 표현하기 위해서는 DecimalFormat 클래스나 String.format() 메서드를 사용하는 방법이 일반적입니다. 소수점 이하 자리수를 나타내는 방법에 따라 float 또는 double 형식을 다르게 출력할 수 있습니다.

비슷한 내용에 대한 기존 질문과 답변이 있었으니 아래 링크를 참고하시면 도움이 될 것 같습니다:

또한, 소수점 이하 자리수를 제한할 때는 반올림 처리 방식에 유의해야 하며, Math.round() 메소드를 사용할 수도 있습니다. 이를 활용하여 소수점 이하 자리를 조절하는 방법을 적용해 보시는 것도 좋습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.

현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

0

주말코딩님의 프로필 이미지
주말코딩
지식공유자

질문이 작성되어있지 않네요.

 

내용이 비어서 등록되어 있습니다.

dudgns5845님의 프로필 이미지
dudgns5845
질문자

줄바꿈을 위해 엔터를 치는 것이 바로 글 등록이 되어버렸네요 ㅜㅜ

글 수정해서 등록했습니다!

주말코딩님의 프로필 이미지
주말코딩
지식공유자

아, 그렇군요. 다시 답변 달았습니다. 추가적으로 궁금하시면 대댓글로 계속 질문 남겨주셔요~

dudgns5845님의 프로필 이미지
dudgns5845

작성한 질문수

질문하기