哈喽,大家好!我是前端实验室的小师妹!
有人小区被封,有人单位被封。有人上班路上地铁站被封。
但有人冥冥之中就被上天选中,一路畅通无阻,只管专心打工,其他的事情老天爷替你摆平。
最近疫情反复,大家外出一定要注意安全~
大家在开发项目中尤其是商城项目会遇到货币的计算、格式化等功能,今天小师妹就推荐一个货币计算相关的开源库。
Dinero.js
Dinero.js
是一个 JavaScript
库,可以在 JavaScript 和 TypeScript 中创建、计算、比较和格式化货币,并总体上使您的应用程序中的货币操作更容易、更安全。
Dinero.js 之于金钱,正如 Moment.js 之于日期。它主要依赖于 Martin Fowler
的货币模式,能帮助你解决由浮点数引起的所有常见问题,主要方法是将金额以整数的形式存储在较小的货币单位中。
安装
代码语言:javascript复制npm install dinero.js@alpha
# or
yarn add dinero.js@alpha
功能接口演示
Dinero.js
通过包装提供开箱即用的ISO 4217货币代码,通过导入@dinero.js/currencies
就可以访问货币对象。
import { USD } from '@dinero.js/currencies';
import {
dinero,
add,
toUnit,
down,
multiply,
toSnapshot,
greaterThanOrEqual,
convert,
} from 'dinero.js';
# 创建基础货币对象
const d1 = dinero({ amount: 500, currency: USD });
const d2 = dinero({ amount: 100, currency: USD });
# 计算金额
add(d1, d2); // 500 100 = 600
# 百分比分配
const [d3, d4] = allocate(d1, [50, 50]); // d3 = 250,d4 = 250
# 格式化
toFormat(d, ({ amount, currency }) => `${currency.code} ${amount}`); // "USD 5"
还有更多功能,特定的语法用例,大家自己去体验尝试,官方文档有框架相关的原理介绍,API、FAQ。
赶紧去下载体验吧,现在用不到就收藏起来!
GitHub地址:https://github.com/dinerojs/dinero.js 官网地址:https://v2.dinerojs.com/
写在最后
欢迎加入前端实验室读者交流群,群里有不少技术大神,不定时会分享一些技术要点,更有一些资源收藏爱好者会分享一些优质的学习资料。吃瓜、摸鱼、白嫖技术就等你了~
进群方式:在下方公众号后台,回复 111
,按提示操作即可进群。
如果该文章对你有帮助,那么就点击右下角的 [点赞]「在看」,给一个小小的鼓励吧~