
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 旧物换新 万亿市场添“活力” 7904436
- 2 以色列对伊朗发动袭击 7809078
- 3 伊朗革命卫队总司令被以色列暗杀 7714212
- 4 中国外贸在复杂环境中稳健前行 7617454
- 5 伊朗否认武装部队总参谋长遭暗杀 7522683
- 6 挑扁担回家女孩校长回应张雪峰 7428103
- 7 印航母公司为每名死者赔1000万卢比 7333501
- 8 金晨赛车故障无缘比赛痛哭 7237196
- 9 以色列全国进入紧急状态 7142902
- 10 杨幂再现经典“幂式穿搭” 7044116