疑難排解Adobe Experience Manager 6.5中使用最適化Forms的大量計算中的精確度錯誤
如果AEM 6.5中的最適化Forms無法以四位小數精確度產生大量計算的精確結果,請考慮使用開放原始碼JavaScript資料庫,如decimal.js或bignumber.js。 這些資料庫有助於確保在財務表單等重要使用案例中的合規性和準確性。
說明 description
環境
- 產品: Adobe Experience Manager (AEM) Forms
- 版本: AEM 6.5 (內部部署) (基礎+核心元件)
問題/症狀
最適化Forms無法精確計算四位小數位數的大數字(通常是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
若要解決此問題:
-
使用開放原始碼JavaScript程式庫(例如
decimal.js或bignumber.js)進行高精度算術。 如需詳細資訊,請參閱decimal.js GitHub存放庫和bignumber.js GitHub存放庫。 -
在您的專案中包含程式庫。 使用資料庫建立自訂函式,以四位小數精確度執行計算。
- 注意: Adobe不提供或支援這些立即可用的協力廠商程式庫,且對其實作或效能不承擔任何責任。 包含任何協力廠商程式庫(甚至是知名程式庫)時,請務必驗證安全性風險、使用者端足跡影響,並確保在所有相關環境中進行徹底測試。
如需進階自訂或整合,請洽詢具有高精確度演演算法和AEM Forms經驗的開發人員。
相關閱讀
根據AEM Sites WKND教學課程中的核心元件介紹最適化Forms的自訂函式。
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f