选择你喜欢的标签
我们会为你匹配适合你的网址导航

    确认 跳过

    跳过将删除所有初始化信息

    Dinerojs:强大的货币值 转换 格式化 处理 JS 工具库

    技术 2025-06-12 08:59

    声明:该文章由作者(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

    方法 API 介绍:

    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/

    图库