목차
BigInteger 클래스
BigDecimal 클래스
BigDecimal의 나눗셈 클래스를 완료할 수 없습니다. 문제
Java java지도 시간 Java의 큰 숫자 BigInteger 및 BigDecimal 클래스 예제 분석

Java의 큰 숫자 BigInteger 및 BigDecimal 클래스 예제 분석

Apr 27, 2023 pm 10:40 PM
java bigdecimal biginteger

BigInteger 클래스

Java에는 Integer 클래스 등 처리해야 할 클래스가 많지만 Integer 클래스에도 상한이 있습니다. 최대값은 2^31-1입니다.

이때 더 큰 숫자를 표현하고 싶다면 Integer로 표현할 수 없기 때문에 Java에서는 BigInteger 클래스를 제공합니다.

BigInteger 클래스가 지원하는 숫자는 무한하다고 할 수 있으며, 임의 정밀도의 정수를 지원하므로 어떤 값이든 손실 없이 정확하게 표현할 수 있습니다.

여기서 전달되는 숫자 유형은 문자 유형이므로 연산을 수행할 때 + - *를 사용할 수 없다는 점을 강조하고 싶습니다. /

는 이를 사용하는 방법에 해당합니다:

add(), subtract ( ), 곱하기(), 나누기()

및 몇 가지 일반적인 방법:

equals 방법. 비교를 위해

코드 데모:

import java.math.BigInteger;
public class Demo01 {
    public static void main(String[] args) {
        BigInteger bigInteger1 = new BigInteger("2222222222222222222222222222222");
        BigInteger bigInteger2 = new BigInteger("1111111111111111111111111111111");
        System.out.println("bigInteger1大数为:" + bigInteger1);
        System.out.println("bigInteger2大数为:" + bigInteger2);
        System.out.println("两个大数相加:" + bigInteger1.add(bigInteger2));//加
        System.out.println("两个大数相减:" + bigInteger1.subtract(bigInteger2));//减
        System.out.println("两个大数相乘:" + bigInteger1.multiply(bigInteger2));//乘
        System.out.println("两个大数相除:" + bigInteger1.divide(bigInteger2));//除
        System.out.println("两个大数相比:" + bigInteger1.equals(bigInteger2));//equals进行比较
    }
}

Java의 큰 숫자 BigInteger 및 BigDecimal 클래스 예제 분석

나누기를 할 때 소수 자릿수가 있으면 여기서 소수 자릿수가 차단됩니다.

물론 정수형뿐만 아니라 부동소수점형도 있습니다.

BigDecimal 클래스

물론 부동 소수점 형식의 정밀도도 최대한 클 수 있습니다.

import java.math.BigDecimal;
public class Demo02 {
    public static void main(String[] args) {
        BigDecimal bigDecimal1 = new BigDecimal("12232423432432.53241234324");
        BigDecimal bigDecimal2 = new BigDecimal("2.0");
        System.out.println("bigDecimal1值: " + bigDecimal1);
        System.out.println("bigDecimal2值: " + bigDecimal2);
        System.out.println("加:" + bigDecimal1.add(bigDecimal2));
        System.out.println("减:" + bigDecimal1.subtract(bigDecimal2));
        System.out.println("乘:" + bigDecimal1.multiply(bigDecimal2));
        System.out.println("除:" + bigDecimal1.divide(bigDecimal2));
    }
}

Java의 큰 숫자 BigInteger 및 BigDecimal 클래스 예제 분석

BigDecimal 메소드에서는 Java 언어의 정확성 문제(예: 0.1x3 == 0.3의 결과가 거짓인 문제)를 더 잘 해결할 수도 있습니다.

Java의 큰 숫자 BigInteger 및 BigDecimal 클래스 예제 분석

BigDecimal의 나눗셈 클래스를 완료할 수 없습니다. 문제

그런데 BigDecimal을 사용할 때 주의해야 할 점이 하나 있습니다. (분할할 수 없는 항목을 만나면 오류 보고를 선택하게 됩니다.)

Java의 큰 숫자 BigInteger 및 BigDecimal 클래스 예제 분석

그래서 나눗셈을 할 때 , 직접 차단 비트를 생성하세요. 그냥 계산하세요.

먼저 방법을 살펴보겠습니다:

public BigDecimal Divide(BigDecimal divisor, int scale, int roundingMode)

divisor - divisor. ㅋㅋㅋ

ROUND_CEILING

양의 무한대를 향해 가져오기

Java의 큰 숫자 BigInteger 및 BigDecimal 클래스 예제 분석

ROUND_DOWN

0ROUND_HALF_ DOWNROUND_HALF_UP
ROUND_FLOOR 음의 무한대를 향해 가져오기
.5를 만나면 내림
.5를 만나면 반올림하여 위로 올라가고, 5를 만나면 반올림하여 이전 숫자를 보고, 5보다 작으면 올라가고, 5와 같으면 하락할 것입니다.

위 내용은 Java의 큰 숫자 BigInteger 및 BigDecimal 클래스 예제 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

핫 AI 도구

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Jakarta EE와 함께 Java에서 편안한 API를 구축합니다 Jakarta EE와 함께 Java에서 편안한 API를 구축합니다 Jul 30, 2025 am 03:05 AM

setupamaven/gradleProjectwithJax-rsddependencies likejersey; 2. createarestresourceUsingAnnotationsSuchas@pathand@get;

Java 프로젝트 관리를위한 Maven에 대한 개발자 안내서 Java 프로젝트 관리를위한 Maven에 대한 개발자 안내서 Jul 30, 2025 am 02:41 AM

Maven은 Java 프로젝트 관리 및 건설을위한 표준 도구입니다. 답은 POM.XML을 사용하여 프로젝트 구조, 종속성 관리, 건설 라이프 사이클 자동화 및 플러그인 확장을 표준화한다는 사실에 있습니다. 1. pom.xml을 사용하여 groupId, artifactid, 버전 및 종속성을 정의하십시오. 2. MVNClean, 컴파일, 테스트, 패키지, 설치 및 배포와 같은 마스터 코어 명령; 3. 종속성 버전 및 충돌을 관리하기 위해 종속성 관리 및 제외를 사용합니다. 4. 다중 모듈 프로젝트 구조를 통해 대규모 응용 프로그램을 구성하고 부모 POM에 의해 균일하게 관리됩니다. 5.

CSS 다크 모드 전환 예 CSS 다크 모드 전환 예 Jul 30, 2025 am 05:28 AM

먼저 JavaScript를 사용하여 사용자 시스템 환경 설정과 로컬로 저장된 테마 설정을 얻고 페이지 테마를 초기화하십시오. 1. HTML 구조에는 주제 스위칭을 트리거하는 버튼이 포함되어 있습니다. 2. CSS 사용 : 루트는 밝은 테마 변수를 정의하기 위해 루트, .dark-mode 클래스는 어두운 테마 변수를 정의하고 var ()를 통해 이러한 변수를 적용합니다. 3. JavaScript는 색채를 선호하는 것을 감지하고 초기 테마를 결정하기 위해 LocalStorage를 읽습니다. 4. 버튼을 클릭 할 때 HTML 요소에서 Dark-Mode 클래스를 전환하고 현재 상태를 LocalStorage에 저장합니다. 5. 모든 색상 변경 사항은 0.3 초 전환 애니메이션을 동반하여 사용자를 향상시킵니다.

파이썬 속성 데코레이터 예제 파이썬 속성 데코레이터 예제 Jul 30, 2025 am 02:17 AM

@Property Decorator는 속성의 판독, 설정 및 삭제 제어를 구현하기 위해 메소드를 속성으로 변환하는 데 사용됩니다. 1. 기본 사용 : @property를 통해 읽기 전용 속성을 정의하고, 예를 들어 반경을 기준으로 계산되고 직접 액세스되는 경우; 2. 고급 사용 : @name.setter 및 @name.deleter를 사용하여 속성 할당 확인 및 삭제 작업을 구현합니다. 3. 실제 응용 프로그램 : BankAccount와 같은 세터에서 데이터 검증을 수행하여 잔액이 음수가 아닌지 확인하십시오. 4. 이름 지정 사양 : 내부 변수는 접두사이며 속성 메소드 이름은 속성과 일치하며 통합 액세스 제어는 코드 보안 및 유지 관리에 사용됩니다.

해싱에 Java MessageDigest를 사용하는 방법 (MD5, SHA-256)? 해싱에 Java MessageDigest를 사용하는 방법 (MD5, SHA-256)? Jul 30, 2025 am 02:58 AM

Java를 사용하여 해시 값을 생성하려면 MessageDigest 클래스를 통해 구현할 수 있습니다. 1. MD5 또는 SHA-256과 같은 지정된 알고리즘의 인스턴스를 가져옵니다. 2. 암호화 할 데이터를 전달하려면 .update () 메소드를 호출하십시오. 3. 해시 바이트 배열을 얻으려면 .digest () 메소드를 호출하십시오. 4. 바이트 배열을 읽기를 위해 16 진수 문자열로 변환합니다. 큰 파일과 같은 입력의 경우 청크로 읽고 .update ()를 여러 번 호출하십시오. 보안을 보장하기 위해 MD5 또는 SHA-1 대신 SHA-256을 사용하는 것이 좋습니다.

CSS 드롭 다운 메뉴 예제 CSS 드롭 다운 메뉴 예제 Jul 30, 2025 am 05:36 AM

예, 공통 CSS 드롭 다운 메뉴는 JavaScript가없는 순수한 HTML 및 CSS를 통해 구현할 수 있습니다. 1. 중첩 UL과 Li를 사용하여 메뉴 구조를 구축하십시오. 2. 호버 의사 클래스를 사용하여 디스플레이를 제어하고 풀다운 컨텐츠의 숨기기; 3. 설정 위치 : 부모 Li의 상대적, 하위 메뉴는 위치를 사용하여 위치합니다. 절대; 4. 하위 메뉴가 표시되는 기본값 : 없음, 디스플레이가됩니다 : 호버링시 블록; 5. 다중 레벨 풀다운은 중첩을 통해 달성하고, 전환과 결합하고, 페이드 인 애니메이션을 추가하고 미디어 쿼리가있는 모바일 터미널에 조정될 수 있습니다. 전체 솔루션은 간단하며 JavaScript 지원이 필요하지 않으므로 대형에 적합합니다.

파이썬 구문 분석 날짜 문자열 예제 파이썬 구문 분석 날짜 문자열 예제 Jul 30, 2025 am 03:32 AM

DateTime.strpTime ()을 사용하여 날짜 문자열을 DateTime 객체로 변환하십시오. 1. 기본 사용 : "%y-%m-%d"를 통해 DateTime 객체로서 "2023-10-05"; 2. 미국 날짜에 "%m/%d/%y", "%d/%m/%y", 영국 날짜를 구문 분석하기 위해 "%b%d,%y%i :%m%p"와 같은 여러 형식을 지원합니다. 3. dateUtil.parser.parse ()를 사용하여 알 수없는 형식을 자동으로 추론합니다. 4. 사용 .D

배열을 Java의 목록으로 변환하는 방법은 무엇입니까? 배열을 Java의 목록으로 변환하는 방법은 무엇입니까? Jul 30, 2025 am 01:54 AM

Java의 목록으로 배열을 변환하려면 데이터 유형 및 요구 사항에 따라 메소드를 선택해야합니다. wrays.aslist ()를 사용하여 객체 배열 (예 : String [])을 고정 크기 목록으로 빠르게 변환하지만 요소를 추가하거나 삭제할 수는 없습니다. mutable arraylist 생성자를 통해 array.aslist ()의 결과를 캡슐화 할 수 있습니다. ③ 기본 유형 배열 (예 : int [])의 경우 arrays.stream (). boxed (). collect (collectors.tolist ())와 같은 StreamApi 변환을 사용해야합니다. ④ 노트에는 널 배열 방지, 객체 유형과의 기본 유형 구별 및 명시 적으로 열리는 열이 포함됩니다.

See all articles