이 게시물은 Java에서 float를 가장 가까운 정수로 변환하는 방법에 대해 설명합니다.
예를 들어, 언제 x = 5.60f, 출력은 다음과 같아야 합니다. 6 그리고 x = -5.60f, 출력은 다음과 같아야 합니다. -6.
1. 타입캐스팅 사용하기
우리는 아래와 같이 typecasting이 값을 자르고 값을 가장 가까운 정수로 반올림하지 않는다는 것을 알고 있습니다.
1
2
3
4
5
6
7
8
9
class Main
{
public static void main(String[] args)
{
float x = 5.60f;
int y = (int)x;
System.out.println("y = " + y);
}
}
다운로드 코드 실행
결과:
y = 5
그러나 해결 방법이 있습니다. 양수 값을 반올림하기 위해 다음 식을 사용할 수 있습니다.
(int)(x + 0.5), 음수 값을 반올림하기 위해 표현식을 사용할 수 있습니다. (int)(x - 0.5), 어디 x 주어진 부동 소수점 숫자입니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Main
{
public static void main(String[] args)
{
float x = 5.60f;
int y;
if (x >= 0.0f) { // `x`는 양수입니다.
y = (int) (x + 0.5);
}
else { // `x`는 음수입니다.
y = (int)(x - 0.5);
}
System.out.println("y = " + y);
}
}
다운로드 코드 실행
결과:
y = 6
2. 사용 Math.round() 방법
표준 솔루션은 Math 제공하는 클래스round() 10진수의 부동 소수점 근사를 위한 방법입니다.
1
2
3
4
5
6
7
8
9
10
class Main
{
public static void main(String[] args)
{
float x = 5.60f;
int y = Math.round(x);
System.out.println("y = " + y);
}
}
다운로드 코드 실행
결과:
y = 6
이것이 Java에서 float를 가장 가까운 정수로 변환하는 것입니다.