728x90
개요
이번 포스팅에서는 Java에서 소수점 반올림하는 방법에 대해서 정리하고자 합니다.
Java에서는 소수점을 반올림 하는 방법에는 여러가지가 있지만, 일반적으로 사용되는 함수는 크게 2가지가 있습니다.
첫 째 Math.round()와 둘 째 String.format()함수입니다.
Math.round()
Math.round() 함수는 소수점 이하를 반올림하여 가장 가까운 정수로 변환해 주는 함수입니다.
Java에서 Math.round()는 float 또는 double 타입의 숫자를 받아 해당 값을 가장 가까운 정수로 반올림합니다. 반올림 규칙은 일반적인 수학 반올림과 같아서, 소수점 이하가 0.5 이상이면 올림을, 0.5 미만이면 내림을 적용합니다.
기본 문법
// 소수점 이하가 0.5 이상이므로 올림
System.out.println(Math.round(5.5)); // 출력: 6
// 소수점 이하가 0.5 미만이므로 내림
System.out.println(Math.round(5.4)); // 출력: 5
자료형에 따른 반환값
- float 타입 입력 시: int 타입 반환
- double 타입 입력 시: long 타입 반환
float value1 = 7.3f;
double value2 = 8.7;
int roundedInt = Math.round(value1); // 7로 반올림
long roundedLong = Math.round(value2); // 9로 반올림
System.out.println(roundedInt); // 출력: 7
System.out.println(roundedLong); // 출력: 9
String.format()
String.format()은 문자열을 지정된 형식에 맞추어 생성할 때 사용하는 Java 메서드입니다.
이 메서드는 형식을 지정하는 포맷 문자열과 값을 받아서, 포맷에 맞춰 값을 문자열로 변환한 후 결과를 반환합니다. 이 기능을 통해 숫자, 날짜, 문자열 등을 특정 형식으로 표현하거나, 여러 값을 쉽게 조합한 문자열을 만들 수 있습니다.
기본 문법
String result = String.format("포맷 문자열", 값1, 값2, ...);
- 포맷 문자열에는 % 기호를 이용하여 형식을 지정합니다.
- 값에는 형식에 맞게 변환될 값을 넣습니다.
포맷 문자열에서 사용되는 서식 지정자
서식 지정자는 % 뒤에 데이터 타입에 따라 지정합니다. 자주 사용되는 서식 지정자는 다음과 같습니다.
- %d: 정수
- %f: 부동 소수점(소수점 이하 자리 지정 가능)
- %s: 문자열
- %n: 줄바꿈
부동 소수점 서식 지정
double pi = 3.14159;
String formattedPi = String.format("파이 값: %.2f", pi);
System.out.println(formattedPi);
// 출력: 파이 값: 3.14
double number = 2.4567;
System.out.println(String.format("%.2f", number));
// 출력: 2.46
소수점 자릿수를 지정할 때 주로 %f를 사용하며, %.2f처럼 소수점 이하 자리수를 지정할 수 있습니다. 예를 들어, %.2f는 소수점 이하 3번째 자리에서 반올림하여 소수점 이하 2자리만 표시합니다.
'TIL,일일 회고' 카테고리의 다른 글
[TIL, 일일 회고] 2024.11.13 - BigInteger 클래스의 mod() 함수 알아보기 (0) | 2024.11.13 |
---|---|
[TIL, 일일 회고] 2024.11.12 - MySQL에서 특정 년도와 월에 해당하는 데이터를 조회하는 다양한 방법 (0) | 2024.11.12 |
[TIL, 일일 회고] 2024.11.10 - RBAC와 ABAC란 무엇일까❓ (0) | 2024.11.10 |
[TIL, 일일 회고] 2024.11.09 - toBinaryString()와 toString() 메서드의 속도차이 비교하기 (2) | 2024.11.09 |
[TIL, 일일 회고] 2024.11.08 - StringBuilder의 공백 처리 방법: deleteCharAt()과 setLength() 비교 (3) | 2024.11.08 |