根据国家展示钱币的分割符

/**
 * 金额处理
 * @param amount 金额
 * @param decimal 小数
 */
export const coutryCurrencySymbol = (amount, decimal = 0) => {
  if (!amount) {
    // console.error("请传入金额,必传参数");
    return 0;
  }
  amount = Number(amount); // 确保是数字类型 type:number
  try {
    let lang = "";
    lang =
      global?.__incrementalCache?.requestHeaders["accept-language"]?.split(
        ","
      )[0];
    if (typeof window !== "undefined") {
      lang = navigator.language;
    }
    // console.log(lang, "lang 使用的语言环境");
    const countryOption = {
      // 这个对象可以不断拓展国家
      id: { locale: "id-ID", currency: "IDR" }, // 印尼 IDR 货币英文代码
      zh: { locale: "zh-CN", currency: "CNY" }, // 中国 CNY 货币英文代码
      "zh-CN": { locale: "zh-CN", currency: "CNY" }, // 中国 CNY 货币英文代码
      "en-US": { locale: "en-US", currency: "USD" }, // 英语 USD 货币英文代码
      fil: { locale: "en-PH", currency: "PHP" }, // 菲律宾的官方语言环境(locale)通常是 fil-PH 或 en-PH 英语 货币英文代码
      vi: { locale: "vi-VN", currency: "VND" }, // 越南  VND 货币英文代码
      default: { locale: "en-US", currency: "USD" }, // 默认 使用英语
    };

    let option = Object.keys(countryOption).find(
      (key) => lang.indexOf(key) > -1
    );
    option = countryOption[option] || countryOption.default;

    return new Intl.NumberFormat(option.locale, {
      // style: 'currency', // 启用货币功能
      // currency: option.currency, // 对应国家的货币英文代码
      minimumFractionDigits: decimal, // 小数点,默认可以不传
    }).format(amount);
  } catch (error) {
    console.log("error:", error);
    return amount;
  }
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值