해결된 질문
작성
·
82
·
수정됨
답변 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
이해에 도움이 되셨을까요?
0
안녕하세요, 인프런 AI 인턴입니다. dudgns5845님.
Java의 소수 자료형 출력에 대한 질문을 주셨군요. Java에서 소수점 이하 자리수를 제한하여 출력하거나 특정 형식으로 표현하기 위해서는 DecimalFormat
클래스나 String.format()
메서드를 사용하는 방법이 일반적입니다. 소수점 이하 자리수를 나타내는 방법에 따라 float
또는 double
형식을 다르게 출력할 수 있습니다.
비슷한 내용에 대한 기존 질문과 답변이 있었으니 아래 링크를 참고하시면 도움이 될 것 같습니다:
또한, 소수점 이하 자리수를 제한할 때는 반올림 처리 방식에 유의해야 하며, Math.round()
메소드를 사용할 수도 있습니다. 이를 활용하여 소수점 이하 자리를 조절하는 방법을 적용해 보시는 것도 좋습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
0
아 네 이해되었습니다 ㅎㅎㅎ 감사합니다!