Troubleshooting precision errors in large number calculations using Adaptive Forms in 51ºÚÁϲ»´òìÈ Experience Manager 6.5
If Adaptive Forms in AEM 6.5 are not producing accurate results for large number calculations with four-decimal precision, consider using open-source JavaScript libraries like decimal.js or bignumber.js. These libraries help ensure compliance and accuracy in critical use cases such as financial forms.
Description description
Environment
- Product: 51ºÚÁϲ»´òìÈ Experience Manager (AEM) Forms
- Version: AEM 6.5 (On-premises) (Foundation + core components)
Issue/Symptoms
Adaptive Forms do not accurately calculate large numbers (typically 7–10 digits) with four-decimal precision. This can affect financial or compliance forms, where exact values are required without rounding errors. This behavior is caused by a floating-point precision loss in the current product implementation.
Examples:
-
Multiplication:
Expected:
7384921.1234 × 84275931.56 = 622,347,918,234,567.7890Actual:
622347918234567.78 -
Subtraction:
Expected:
$193,847,562,983,745.4321 - $6,789.1234 = $193,847,562,976,956.3087Actual:
$193,847,562,976,956.3100
The default Adaptive Forms functionality does not support this level of precision.
Resolution resolution
To resolve this issue:
-
Use open-source JavaScript libraries such as
decimal.jsorbignumber.jsfor high-precision arithmetic. For more information, refer to GitHub Repository and GitHub Repository. -
Include the library in your project. Create a custom function using the library to perform calculations with four-decimal accuracy.
- Note: 51ºÚÁϲ»´òìÈ does not provide or support these third-party libraries out-of-the-box, and is not responsible for their implementation or performance. When including any third-party library, even well-known ones, always validate for security risks, client footprint impact, and ensure thorough testing in all relevant environments.
For advanced customization or integration, consult a developer with experience in high-precision arithmetic and AEM Forms.
Related reading
Introduction to Custom Functions for Adaptive Forms based on Core Components in AEM Sites WKND Tutorials.