
Dinerojs:强大的货币值 转换 格式化 处理 JS 工具库
Dinero.js 是一个用于在 JavaScript 和 TypeScript 中创建、计算和格式化货币的工具库。它提供了一种简单而强大的方式来处理货币值,支持货币的创建、转换、比较、格式化等操作。Dinero.js 旨在使货币操作更加安全和便捷。
1. 不可变和链式 API
Dinero.js 提供了不可变和链式的 API,这意味着每次操作都会返回一个新的对象,原始对象不会被修改。这使得代码更加安全和可预测。
2. 全局设置支持
Dinero.js 支持全局设置,例如默认货币、精度和区域设置,这使得在项目中统一配置变得非常方便。
3. 扩展的格式化和舍入选项
Dinero.js 提供了丰富的格式化和舍入选项,支持多种格式化模式,满足不同需求。
4. 原生 Intl 支持
Dinero.js 利用 JavaScript 的原生 Intl API,无需额外的本地化文件,支持多种语言和区域设置。
5. 货币转换
Dinero.js 支持货币之间的转换,可以轻松地将一个货币值转换为另一个货币值。
示例展示:
******* 创建和操作 ******* import { USD } from'@dinero.js/currencies'; import { dinero, add, subtract, multiply, divide } from'dinero.js'; // 创建货币对象 const d1 = dinero({ amount: 500, currency: USD }); const d2 = dinero({ amount: 800, currency: USD }); // 加法 const sum = add(d1, d2); console.log(sum.getAmount()); // 输出:1300 // 减法 const difference = subtract(d1, d2); console.log(difference.getAmount()); // 输出:-300 // 乘法 const product = multiply(d1, 2); console.log(product.getAmount()); // 输出:1000 // 除法 const quotient = divide(d1, 2); console.log(quotient.getAmount()); // 输出:250 ******* 格式化 ******* import { USD } from'@dinero.js/currencies'; import { dinero } from'dinero.js'; const d = dinero({ amount: 500, currency: USD }); // 默认格式化 console.log(d.toFormat()); // 输出:$5.00 // 自定义格式化 console.log(d.toFormat('$0,0.00')); // 输出:$5.00 console.log(d.toFormat('$0,0')); // 输出:$5 console.log(d.toFormat('$0.00')); // 输出:$5.00 ******* 货币转换 ******* import { USD, EUR } from'@dinero.js/currencies'; import { dinero, convert } from'dinero.js'; const d = dinero({ amount: 500, currency: USD }); // 转换为欧元,假设汇率为 0.85 const converted = convert(d, { to: EUR, rate: 0.85 }); console.log(converted.getAmount()); // 输出:425 ******* 精度控制 ******* import { USD } from'@dinero.js/currencies'; import { dinero } from'dinero.js'; const d = dinero({ amount: 500, currency: USD, precision: 3 }); console.log(d.toFormat('$0,0.000')); // 输出:$5.000
getAmount():返回金额。
getCurrency():返回货币代码。
getLocale():返回区域设置。
getPrecision():返回精度。
add(addend):返回两个 Dinero 对象的和。
subtract(subtrahend):返回两个 Dinero 对象的差。
multiply(multiplier, roundingMode):返回乘以给定因子后的值。
divide(divisor, roundingMode):返回除以给定因子后的值。
percentage(percentage, roundingMode):返回当前值的百分比。
allocate(ratios):根据给定的比例分配金额。
convert(currency, options):将金额转换为另一种货币。
equalsTo(comparator):检查当前值是否等于另一个 Dinero 对象。
lessThan(comparator):检查当前值是否小于另一个 Dinero 对象。
lessThanOrEqual(comparator):检查当前值是否小于或等于另一个 Dinero 对象。
greaterThan(comparator):检查当前值是否大于另一个 Dinero 对象。
greaterThanOrEqual(comparator):检查当前值是否大于或等于另一个 Dinero 对象。
isZero():检查当前值是否为零。
isPositive():检查当前值是否为正数。
isNegative():检查当前值是否为负数。
hasSubUnits():检查当前值是否包含小数单位。
hasCents():检查当前值是否包含小数单位(已弃用,使用 hasSubUnits)。
hasSameCurrency(comparator):检查当前货币是否与另一个 Dinero 对象相同。
hasSameAmount(comparator):检查当前金额是否与另一个 Dinero 对象相同。
setLocale(newLocale):返回一个新的 Dinero 对象,包含指定的区域设置。
toFormat(format, roundingMode):将 Dinero 对象格式化为字符串。
toUnit():返回金额的单位值。
toRoundedUnit(digits, roundingMode):返回四舍五入后的单位值。
toObject():返回对象的数据作为字面量对象。
toJSON():返回对象的数据作为字面量对象(与 toObject 相同)。
convertPrecision(newPrecision, roundingMode):返回一个新的 Dinero 对象,包含新的精度和转换后的金额。
normalizePrecision(objects):将多个 Dinero 对象归一化为相同的精度。
GitHub:https://github.com/dinerojs/dinero.js
官方文档:https://dinerojs.com/
[超站]友情链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
关注数据与安全,洞悉企业级服务市场:https://www.ijiandao.com/

随时掌握互联网精彩
- 1 读懂“两山”理念的天下情怀 7904635
- 2 泽连斯基再见特朗普 这次穿西装了 7809798
- 3 多地暂停汽车“国补” 怎么回事 7712083
- 4 一组数据带你回顾2025世运会 7615938
- 5 胖东来招保安要求本科 人社部门回应 7522911
- 6 特朗普泽连斯基会晤 白宫挂了张地图 7428921
- 7 “中医堂”涉违规广告 网警提醒 7332115
- 8 小米车主撞死4人亮贫困证?当地通报 7235671
- 9 小伙送外卖结识美籍幼师5个月闪婚 7144111
- 10 牛弹琴:特朗普果然大杀四方 7046197