Dinero.js - 免费开源的 JavaScript 货币处理工具库,完美解决 JS 浮点数精度丢失问题

Dinero.js - 免费开源的 JavaScript 货币处理工具库,完美解决 JS 浮点数精度丢失问题

    正在检查是否收录...

Dinero.js - 免费开源的 JavaScript 货币处理工具库,完美解决 JS 浮点数精度丢失问题

今天介绍一个在前后端处理货币的工具库,logo 很可爱,是一只蓝色的招财小猫。

本文封面图底图来自免费 AI 图库 StockCake。

Dinero.js 简介

Dinero.js 是一个用于货币计算的 JavaScript 工具库,解决开发者在金融、电商、会计等场景中处理货币时的

精度丢失、汇率转换、格式化输出

等痛点。和 JS 基本的 Number 类型或简单四则运算不同,Dinero.js 将货币抽象为

不可变对象

,通过封装金额、币种、精度等元数据,提供了一套类型安全、可链式调用的 API。

Dinero.js - 免费开源的 JavaScript 货币处理工具库,完美解决 JS 浮点数精度丢失问题
Dinero.js 官网

技术特性

  1. 计算精准

    :基于整数运算原理(如将 10.99 元存储为 1099 分),避免 JS 浮点数精度导致意想不到的问题;
  2. 多币种支持

    :支持全球 170+ 种货币的 ISO 标准代码,还可以扩展自定义币种;
  3. 函数式编程

    :所有方法都会返回新实例,避免相互污染的副作用,非常适合复杂计算场景。

开发上手体验

历史原因,JS 小数的精度是令人十分头大的 BUG,很容易出现意想不到的情况,特别是处理交易金额。

之前我在开发小程序商城时,我也曾经想过不少办法来解决,比如金额统一用分来存,避免产生小数来计算,不过因为开发时间有限,以及有太多因素要考虑,为了保证涉及金额业务的安全稳健,我最终还是选择了用

Dinero.js

这款货币处理库。

下面用演示一下具体用法。

安装和集成

npm 或 yarn:

 npm install dinero.js # 或 yarn add dinero.js

也可以

CDN 引入

<script src="https://unpkg.com/dinero.js@latest/dist/dinero.min.js"&gt;&lt;/script&gt;

基础运算与格式化

import Dinero from 'dinero.js'; // 通过金额和币种创建一个货币实例 const price = Dinero({ amount: 1000, currency: 'USD' }); // 1000 美分 const tax = price.percentage(7); // 计算7%税费 const total = price.add(tax); // 相加总金额 1070 美分(即10.70美元) // 在前端界面输出货币字符 console.log(total.toFormat()); // $10.70 // 便捷的链式调用 const discount = Dinero({ amount: 2000, currency: 'USD' }) .multiply(3) .subtractPercentage(15) .divide(2);

多币种汇率转换

支持动态汇率配置与实时转换:

Dinero.globalExchangeRatesApi = { base: 'USD', rates: { EUR: 0.85, JPY: 110 } }; // 设置汇率 const dollars = Dinero({ amount: 1000, currency: 'USD' }); const euros = dollars.convert('EUR'); // 转换为欧元 8.50€

复杂金融场景

dinero.js 还支持下面几个常见的金融业务场景:

  • 分期计算

    :支持等额本息/等额本金算法
  • 优惠券分摊计算(如满减、折扣叠加)
  • 订单金额拆分(支付网关手续费计算)

总结

更多的用法可以浏览官网的 API 文档,有更多的货币处理支持,这样我们不用考虑实现具体的计算逻辑细节,节省不少开发时间。

Dinero.js - 免费开源的 JavaScript 货币处理工具库,完美解决 JS 浮点数精度丢失问题
API 文档和代码例子

对了,Dinero.js 不仅能在前端使用,Node.js 也同样支持,毕竟前端主要用于展示,更核心的业务逻辑依赖后端,通过 Dinero.js 可以构建高可靠的

货币处理系统

免费开源说明

Dinero.js 是一个免费开源的 JS 工具库,源码采用 MIT 开源协议托管在 Github 上,我们可以自由下载来使用,

用在商业项目上

也完全没问题。



  • 本文作者:WAP站长网
  • 本文链接: https://wapzz.net/post-26801.html
  • 版权声明:本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。
本站部分内容来源于网络转载,仅供学习交流使用。如涉及版权问题,请及时联系我们,我们将第一时间处理。
文章很赞!支持一下吧 还没有人为TA充电
为TA充电
还没有人为TA充电
0
  • 支付宝打赏
    支付宝扫一扫
  • 微信打赏
    微信扫一扫
感谢支持
文章很赞!支持一下吧
关于作者
2.7W+
6
0
1
WAP站长官方

autohue.js - 基于 JavaScript 开发的图片背景色提取开源库,能让图片和背景融为一体

上一篇

SnowAdmin - 功能丰富、简单易用的开源的后台管理框架,基于 Vue3 / TypeScript / Arco Design 等技术栈打造

下一篇
评论区
内容为空

这一切,似未曾拥有

  • 复制图片
按住ctrl可打开默认菜单