海印网
海印网

使用 JS 管理国家和货币

hao123数码00

使用 JS 管理国家和货币-第1张图片-海印网

处理全球化的项目时,管理国家和货币列表及其格式化方式可能很复杂。 country-currency-utils npm 包应运而生,它以 TypeScript 编写,旨在简化这个过程,无论是在前端还是后端。该包避免在代码库中直接包含庞大的国家/地区和货币数据,而是通过 CDN 获取这些数据,从而保持代码简洁。

国家数据

国家数据通过 countries_details_url 变量访问,返回一个键值对对象,键为双字母 ISO 国家代码,值为包含国家名称、拨号代码、货币代码和国旗表情符号的对象。 包中提供以下函数:

type tcountrydetails = {
  name: string; 
  dialcode: string; 
  currencycode: string; 
  flagemoji: string; 
};

type tcountrydata = tcountrydetails & {
  countrycode: string; 
};

getallcountrydetails(): Promise<Record<string, tcountrydetails>>;
getallcountrydata(): Promise<tcountrydata[]>;
getcountrydata(countrycode: string): Promise<tcountrydata | undefined>;
getcountriesdata(countrycodes: string[]): Promise<tcountrydata[]>;

登录后复制

这些函数允许轻松检索单个国家或多个国家的数据。

货币数据

类似地,货币数据通过 currencies_details_url 变量访问。 它包含一个键值对对象,键为 ISO 货币代码,值为包含货币名称、符号(本地和标准)、小数位数、数字分组等详细信息的对象。 相关的函数如下:

type tcurrencydetails = {
  name: string; 
  demonym: string; 
  majorsingle: string; 
  majorplural: string; 
  symbol: string; 
  symbolnative: string; 
  symbolpreferred: string; 
  minorsingle: string; 
  minorplural: string; 
  decimals: number; 
  decimalscompact: number; 
  digitgrouping: 2 | 3; 
};

type tcurrencydata = tcurrencydetails & {
  currencycode: string; 
};

getallcurrencydetails(): Promise<Record<string, tcurrencydetails>>;
getallcurrencydata(): Promise<tcurrencydata[]>;
getcurrencydata(currencycode: string): Promise<tcurrencydata | undefined>;
getcurrenciesdata(currencycodes: string[]): Promise<tcurrencydata[]>;

登录后复制

这些函数允许获取单个或多个货币的详细信息。

金额格式化工具

该包提供了强大的金额格式化工具,处理小数位数、货币符号和数字分组:

  • 四舍五入: getroundedamount 和 getroundedamountoncurrency 函数分别根据指定小数位数或货币规则对金额进行四舍五入。

  • 金额格式化: getformattedamountoncurrency 函数根据货币规则格式化金额,包括添加逗号分隔符。

  • 金额显示: getdisplayamountoncurrency 和 getDisplayAmountOnCurrencyCode 函数将格式化的金额与货币符号组合,并提供选项来控制符号类型(标准或本地)和分隔符。

总结

country-currency-utils 提供了一种高效且易于使用的方法来管理国家和货币数据,并格式化货币金额,从而简化国际化项目的开发。 如果您需要处理多种货币和国家/地区,这个包值得一试。 请访问 GitHub 仓库了解更多信息。

以上就是使用 JS 管理国家和货币的详细内容,更多请关注其它相关文章!

Tags: 货币国家

Sorry, comments are temporarily closed!