_Hiiro
성장을 공유하는 개발자
_Hiiro
전체 방문자
오늘
어제
  • 분류 전체보기 (57)
    • 개발기록 (3)
      • 사이드 프로젝트 (3)
    • 코딩테스트 (5)
      • 인프런 강의 (4)
      • 정리노트 (1)
      • 프로그래머스 (0)
      • 구름 (0)
    • Language (5)
      • Java (5)
    • 우아한테크코스 (43)
      • 우테코 프리코스 (5)
      • 회고 (18)
      • 학습 정리 (18)
      • 글쓰기 (2)
    • 일상 (1)
      • 회고 (1)

블로그 메뉴

  • 홈
  • 방명록
  • 글쓰기
  • 관리자

인기 글

최근 댓글

티스토리

hELLO · Designed By 정상우.
_Hiiro

성장을 공유하는 개발자

코딩테스트/정리노트

[Java] Math.round 관련

2022. 9. 26. 07:37

Java 에서 숫자에 대한 반올림 기능을 수행할 수 있는 메소드로 Math.round()를 제공한다.

※ 참고로 올림과 내림은 Math.ceil() / Math.floor() 이다.

import java.lang.Math;

float varfloat1 = 5.2f;
float varfloat2 = 5.8f;

System.out.println(Math.round(varfloat1));  // 5
System.out.println(Math.round(varfloat2));  // 6
  • 기본적으로 round 메소드는 인자로 주어지는 수의 소수점 첫째 자리에서 반올림한 수를 반환한다.
float varfloat = 5.2f;
double vardouble = 5.8f;

int varint = Math.round(varfloat);

// int varlong = Math.round(vardouble); // 컴파일 오류 발생!
long varlong = Math.round(vardouble);
  • 주의해야 할 부분은 인자 값으로 float 값이 주어지느냐 double로 주어지느냐에 따라 반환 값의 타입이 각각 int, long으로 달라진다는 점이다. 그 이유는 int, float가 4바이트 크기의 자료형이고 long과 double이 8바이트의 자료형이기 때문이다.

같이 알아두기 : String.format()

Math.round() 메소드와 마찬가지로 반올림 기능을 수행하는 메소드로 String.format()을 함께 알아두자.

float varfloat1 = 5.2f;
double varfloat2 = 5.8f;

int varint = Math.round(varfloat1);

String varstr1 = String.format("%.0f", varfloat1);   // 5
String varstr2 = String.format("%.0f", varfloat2);   // 6
  • 물론 String 클래스의 메소드이므로 반환값이 String임을 잊으면 안된다.
저작자표시 (새창열림)
    _Hiiro
    _Hiiro
    성장을 위한 학습을 하며 배운 것들을 공유합니다.

    티스토리툴바