Java 소수점 int - Java sosujeom int

이 게시물은 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를 가장 가까운 정수로 변환하는 것입니다.