Dinero.js - 免费开源的 JavaScript 货币处理工具库,完美解决 JS 浮点数精度丢失问题
今天介绍一个在前后端处理货币的工具库,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