今天介紹一個在前后端處理貨幣的工具庫,logo 很可愛,是一只藍色的招財小貓。
本文封面圖底圖來自免費 AI 圖庫 StockCake。
Dinero.js 是一個用于貨幣計算的 JavaScript 工具庫,解決開發者在金融、電商、會計等場景中處理貨幣時的精度丟失、匯率轉換、格式化輸出等痛點。和 JS 基本的 Number 類型或簡單四則運算不同,Dinero.js 將貨幣抽象為不可變對象,通過封裝金額、幣種、精度等元數據,提供了一套類型安全、可鏈式調用的 API。
技術特性
歷史原因,JS 小數的精度是令人十分頭大的 BUG,很容易出現意想不到的情況,特別是處理交易金額。
之前我在開發小程序商城時,我也曾經想過不少辦法來解決,比如金額統一用分來存,避免產生小數來計算,不過因為開發時間有限,以及有太多因素要考慮,為了保證涉及金額業務的安全穩健,我最終還是選擇了用 Dinero.js 這款貨幣處理庫。
下面用演示一下具體用法。
安裝和集成
npm 或 yarn:
也可以 CDN 引入:
基礎運算與格式化
多幣種匯率轉換
支持動態匯率配置與實時轉換:
復雜金融場景
dinero.js 還支持下面幾個常見的金融業務場景:
- 分期計算:支持等額本息/等額本金算法
- 優惠券分攤計算(如滿減、折扣疊加)
- 訂單金額拆分(支付網關手續費計算)
更多的用法可以瀏覽官網的 API 文檔,有更多的貨幣處理支持,這樣我們不用考慮實現具體的計算邏輯細節,節省不少開發時間。
對了,Dinero.js 不僅能在前端使用,Node.js 也同樣支持,畢竟前端主要用于展示,更核心的業務邏輯依賴后端,通過 Dinero.js 可以構建高可靠的貨幣處理系統。
Dinero.js 是一個免費開源的 JS 工具庫,源碼采用 MIT 開源協議托管在 Github 上,我們可以自由下載來使用,用在商業項目上也完全沒問題。
原文鏈接:https://www.thosefree.com/dinero-js