
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 习近平:中国—中亚合作大有可为 7904156
- 2 官方通报“罗帅宇坠楼事件” 7809498
- 3 伊朗退出与美国核谈判 7712073
- 4 外贸品转内销 如何卖得好 7617894
- 5 罗帅宇坠楼后手机拨打110为民警拨出 7522515
- 6 警方认定罗帅宇系跳楼自杀身亡 7428517
- 7 网警公布3起涉高考网络谣言案 7331272
- 8 国防部:要求日方停止危险挑衅行径 7234131
- 9 《歌手》第五期排名公布 7139784
- 10 曾毅回应手表被指含性暗示元素 7043367