이 기사의 예는 Java 프로그래밍에서 매우 실용적인 기술인 BigDecimal 클래스의 간단한 사용법을 설명합니다. 구체적인 사용량 분석은 다음과 같습니다.
일반적으로 Java의 비즈니스 계산과 관련하여 float 및 double은 정확한 계산을 수행할 수 없기 때문에 사용할 수 없다는 것을 모두 알고 있습니다. 그러나 Java 설계자는 프로그래머에게 매우 유용한 BigDecimal 클래스를 제공합니다. 이는 정확한 계산을 수행할 수 없는 float 및 double 클래스의 단점을 개선할 수 있습니다. BigDecimal 클래스는 java.maths 클래스 패키지 아래에 있습니다. 먼저 BigDecimal 객체를 구성하는 방법을 살펴보겠습니다. 여기에는 가장 일반적으로 사용되는 두 가지 생성자가 있습니다. 하나는 BigDecimal(double val)이고 다른 하나는 BigDecimal(String str)입니다. 둘 사이에는 큰 차이가 없는 것 같지만 API 설명에 따르면 다음과 같습니다.
/*이 생성자의 결과는 다소 예측할 수 없습니다. new BigDecimal(.1)이 정확히 .1과 같다고 가정할 수도 있지만 실제로는 .1000000000000000055511151231257827021181583404541015625와 같습니다. 두 배(또는 그러기 위해서는 따라서 생성자에 전달되는 긴 값은 외관상으로는 .1과 정확히 같지 않습니다. 반면에 (String) 생성자는 완벽하게 예측 가능합니다. : new BigDecimal(".1")은 예상대로 정확히 .1과 같습니다. 따라서 일반적으로 이 생성자보다 (String) 생성자를 사용하는 것이 좋습니다.*/즉, double을 매개변수로 사용하는 생성자는 BigDecimal 객체를 정확하게 생성할 수 없습니다. 즉, 컨텍스트 환경, 즉 정확한 비트를 지정해야 합니다. String 객체를 매개변수로 사용하는 생성자는 BigDecimal 객체를 정확하게 생성할 수 있습니다. 아래 코드를 살펴보십시오.
import java.math.*;public class TestBigDecimal { public static void main(String args[]){ BigDecimal bd = new BigDecimal("10.123") BigDecimal bd1 = new BigDecimal(10.123); "/n"+ bd1) }}실행 후 출력:
10.123
10.1229999999999993320898283855058252811431884765625
따라서 생성자를 선택할 때는 특정 요구 사항에 따라 다릅니다.
또한 많은 사람들이 int, float, double, long 및 BigDecimal 객체와 같은 기본 유형을 서로 변환하는 방법을 묻습니다. 매우 간단합니다:
기본 유형은 생성자를 통해 해당 BigDecimal 객체로 변환되며 BigDecimal 클래스는 BigDecimal 객체를 해당 값으로 변환하기 위해 intValue(), floatValue(), doubleValue(), longValue() 등의 메서드를 제공합니다.
BigDecimal이 어떻게 계산되는지에 대해서는 포럼에 올라온 어떤 사람의 질문글을 예로 들어 BigDecimal의 계산 방법을 간략하게 적어봤습니다. 주제는 다음과 같습니다. 리바이는 와인을 사기 위해 냄비를 들고 무사히 거리를 걷고 있었습니다. 가게를 만나면 양을 두 배로 마시고, 꽃을 보면 두두를 마시고, 꽃과 가게를 만나면 항아리에 있는 포도주를 모두 마셔버리게 됩니다. ?
이 질문을 뒤에서 앞으로 밀고 계산을 거꾸로 해야 최종적으로 원래 와인의 양을 얻을 수 있습니다.
import java.math.*;public class Libai { public static void main(String args[]){ BigDecimal volumn = new BigDecimal("0") for (int i=0; i<5; i++){ volumn = volumn .add(new BigDecimal("1")); volumn = volumn.divide(new BigDecimal("2")) } System.out.print(볼륨) }}실행 결과:
0.96875
이 기사에서 설명하는 내용이 모든 사람의 Java 프로그래밍 학습에 도움이 되기를 바랍니다.