Adobe Experience Manager 6.5에서 적응형 Forms을 사용하여 대량 계산 시 정밀도 오류 문제 해결

AEM 6.5의 적응형 Forms이 소수점 이하 4자리 정밀도를 사용하는 큰 숫자 계산에 대한 정확한 결과를 생성하지 않는 경우 decimal.js 또는 bignumber.js과(와) 같은 오픈 소스 JavaScript 라이브러리를 사용하는 것이 좋습니다. 이러한 라이브러리는 금융 양식과 같은 중요한 사용 사례에서 규정 준수 및 정확성을 보장하는 데 도움이 됩니다.

설명 description

환경

  • 제품: Adobe Experience Manager(AEM) Forms
  • 버전: AEM 6.5(온-프레미스)(Foundation + 핵심 구성 요소)

문제/증상

적응형 Forms은 소수점 이하 4자리 정밀도로 큰 숫자(일반적으로 7~10자리)를 정확하게 계산하지 않습니다. 반올림 오류 없이 정확한 값이 필요한 재무 또는 준수 양식에 영향을 줄 수 있습니다. 이 동작은 현재 제품 구현의 부동 소수점 정밀도 손실로 인해 발생합니다.

예:

  • 곱하기:

    예상: 7384921.1234 × 84275931.56 = 622,347,918,234,567.7890

    실제: 622347918234567.78

  • 빼기:

    예상: $193,847,562,983,745.4321 - $6,789.1234 = $193,847,562,976,956.3087

    실제: $193,847,562,976,956.3100

기본 적응형 Forms 기능은 이 수준의 정밀도를 지원하지 않습니다.

해결 방법 resolution

이 문제를 해결하려면 다음을 수행하십시오.

  1. 고정밀 산술에는 decimal.js 또는 bignumber.js과(와) 같은 오픈 소스 JavaScript 라이브러리를 사용합니다. 자세한 내용은 decimal.js GitHub 저장소 및 bignumber.js GitHub 저장소를 참조하십시오.

  2. 프로젝트에 라이브러리를 포함합니다. 라이브러리를 사용하여 사용자 지정 함수를 만들어 소수점 4자리 정확도로 계산을 수행합니다.

    • 참고: Adobe은 이러한 타사 라이브러리를 즉시 제공하거나 지원하지 않으며, 구현이나 성능에 대한 책임이 없습니다. 잘 알려진 타사 라이브러리를 포함할 경우 항상 보안 위험, 클라이언트 설치 공간 영향을 검증하고 모든 관련 환경에서 철저한 테스트를 보장합니다.

고급 사용자 지정 또는 통합에 대해서는 고정밀 산술 및 AEM Forms 경험이 있는 개발자에게 문의하십시오.

관련 읽기

AEM Sites WKND 자습서의 핵심 구성 요소를 기반으로 하는 적응형 Forms을 위한 사용자 지정 기능 소개.

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f