
Dinerojs:强大的货币值 转换 格式化 处理 JS 工具库
声明:该文章由作者(sexyemily)发表,转载此文章须经作者同意并请附上出处(0XUCN)及本页链接。。
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 读懂“两山”理念的天下情怀 7903931
- 2 “职业背债人”被200万买断人生 7808432
- 3 多地暂停汽车“国补” 怎么回事 7714016
- 4 一组数据带你回顾2025世运会 7616477
- 5 NBA球星来中国一趟什么都想带回家 7524148
- 6 60岁李国庆谈再婚:妻子是“白月光” 7427846
- 7 “中医堂”涉违规广告 网警提醒 7328300
- 8 牛弹琴:特朗普果然大杀四方 7231939
- 9 父母悬赏上海一套房寻被拐26年儿子 7136159
- 10 今日出伏 三伏天正式结束 7047229