>  기사  >  Java  >  Java 문서 해석: Math 클래스의 round() 메소드에 대한 자세한 설명

Java 문서 해석: Math 클래스의 round() 메소드에 대한 자세한 설명

王林
王林원래의
2023-11-04 12:02:131748검색

Java 문서 해석: Math 클래스의 round() 메소드에 대한 자세한 설명

Math 클래스는 Java에서 일반적으로 사용되는 수학 라이브러리로 삼각 함수, 지수 함수, 상수 π 등과 같이 일반적으로 사용되는 많은 수학 함수 및 상수를 제공합니다. 그 중 round() 메소드는 Math 클래스에서 가장 일반적으로 사용되는 메소드 중 하나입니다. 이 문서에서는 사용법, 기능 및 특정 코드 예제를 포함하여 Math 클래스의 round() 메서드를 자세히 설명합니다.

1. round() 메서드 개요

round() 메서드는 Math 클래스의 정적 메서드로 부동 소수점 숫자를 가장 가까운 정수로 반올림하는 기능입니다. 이 메소드의 구문은 다음과 같습니다.

public static int round(float a)
public static long round(double a)

이 메소드는 float 또는 double 유형의 매개변수 a를 수신하고 int 또는 long 유형의 정수를 반환합니다. 그 중, a의 소수 부분이 0.5보다 작으면 a를 반올림하여 정수로 하고, a의 소수 부분이 0.5보다 크거나 같으면 a에 1을 더하여 반올림하여 정수로 한다.

2. round() 메서드 사용

  1. 고정밀도가 필요하지 않은 둥근 부동 소수점 숫자

일부 시나리오에서는 부동 소수점 숫자를 높은 정밀도로 처리할 필요가 없으며 단지 반올림하면 됩니다. 정수이면 충분합니다. 이 시점에서 Math 클래스의 round() 메서드를 사용하여 이를 달성할 수 있습니다.

예를 들어 부동 소수점 유형 변수 f가 있고 그 값은 3.1415926입니다. 이를 정수로 반올림하려면 다음 코드를 사용할 수 있습니다.

float f = 3.1415926f;
int result = Math.round(f);
System.out.println(result);

실행 결과는 다음과 같습니다.

3

에서 볼 수 있습니다. 결과적으로 3.1415926은 3으로 반올림됩니다.

마찬가지로 double형 변수의 경우 Math 클래스의 round() 메서드를 사용하여 정수로 반올림할 수도 있습니다. 예를 들어 이중 유형 변수 d가 있고 해당 값은 123.456789이며 이를 정수로 반올림하려면 다음 코드를 사용할 수 있습니다.

double d = 123.456789;
long result = Math.round(d);
System.out.println(result);

실행 결과는 다음과 같습니다.

123

결과에서 볼 수 있듯이 , 123.456789는 123으로 반올림됩니다.

  1. 부동 소수점 숫자의 대략적인 처리

일부 시나리오에서는 부동 소수점 숫자의 근사 처리를 수행해야 합니다. 예를 들어, 컴퓨터 시뮬레이션에서는 부동 소수점 숫자의 정밀도가 제한되어 일부 부동 소수점 숫자가 정확하게 표현되지 않을 수 있습니다. 이 시점에서 부동 소수점 숫자를 대략적으로 계산하여 올바른 값에 더 가깝게 만들 수 있습니다.

예를 들어, 부동 소수점 부분이 소수점 이하 두 자리만 유지하도록 이중 유형 변수를 근사화하려고 합니다. 다음 코드를 사용할 수 있습니다.

double d = 3.1415926;
double approx = Math.round(d * 100) / 100.0;
System.out.println(approx);

이 코드는 먼저 d에 100을 곱한 다음 round() 메서드를 사용하여 정수로 반올림하고 마지막으로 100.0으로 나누어 대략적인 값을 얻습니다. 실행 결과는 다음과 같습니다.

3.14

결과에서 볼 수 있듯이 3.1415926은 3.14에 근사됩니다.

3. round() 메서드에 대한 참고사항

  1. 매개변수가 무한대이거나 NaN인 경우 round() 메서드는 매개변수 자체를 직접 반환합니다.

예를 들어, float 유형 변수 f의 경우 해당 값이 무한대 또는 NaN이면 Math.round(f)는 매개변수 f 자체를 직접 반환합니다. 예를 들어 다음 코드의 경우

float f = Float.POSITIVE_INFINITY;
int result = Math.round(f);
System.out.println(result);

결과는 다음과 같이 출력됩니다.

2147483647

Float.POSITIVE_INFINITY는 양의 무한대이고 컴퓨터에서 표현할 수 없으므로 Math.round(f)는 f 자체를 직접 반환합니다.

마찬가지로, 이중 유형 변수 d의 경우 해당 값이 무한대 또는 NaN이면 Math.round(d)는 매개변수 d 자체를 직접 반환합니다.

  1. 매개변수가 너무 크거나 작은 경우 round() 메서드를 사용하면 비정상적이거나 예상치 못한 결과가 발생할 수 있습니다.

컴퓨터 메모리 공간의 제한으로 인해 round() 메서드는 너무 크거나 작은 부동 소수점 숫자에 대해 비정상적이거나 예상치 못한 결과를 생성할 수 있습니다. 예를 들어 다음 코드의 경우:

double d = 1.23456789E308;
long result = Math.round(d);
System.out.println(result);

1.23456789E308이 double 유형의 상한을 초과하므로 이 코드에서는 예외가 발생합니다.

마찬가지로 다음 코드와 같이 너무 작은 부동 소수점 숫자의 경우:

double d = 1.23456789E-323;
long result = Math.round(d);
System.out.println(result);

1.23456789E-323이 double 유형의 정밀도 제한보다 작으므로 이 코드는 예상되는 대략적인 값 대신 0을 반환합니다.

4. 결론

위의 코드 예제를 통해 Math 클래스의 round() 메서드가 부동 소수점 숫자를 정수로 쉽게 반올림하고 부동 소수점 거래를 근사화할 수 있다는 것을 알 수 있습니다. 와 함께. 그러나 이 방법을 사용할 때는 비정상적이거나 예상치 못한 결과를 피하기 위해 매개변수 범위와 정밀도 요구 사항에 주의를 기울여야 합니다.

위 내용은 Java 문서 해석: Math 클래스의 round() 메소드에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.