typescript Javascript国际数字格式不带逗号的货币

erhoui1w  于 2023-03-04  发布在  TypeScript
关注(0)|答案(2)|浏览(186)

在Javascript/Typescript中有没有一种方法可以使用Intl.NumberFormat来设置货币格式而不使用逗号?现在,它显示为1,000.00。要将其设置为1000.00吗

export const formatCurrency = (item: number) => {
  const currencyFormat = new Intl.NumberFormat('en-US', {
    style: 'currency',
    currency: 'USD',
  });
  return currencyFormat.format(item);
};
z4iuyo4d

z4iuyo4d1#

useGrouping设置为false

export const formatCurrency = (item: number) => {
  const currencyFormat = new Intl.NumberFormat('en-US', {
    style: 'currency',
    currency: 'USD',
    useGrouping: false,
  });
  return currencyFormat.format(item);
};

在文档中找到:Intl.NumberFormat constructor
注:useGrouping标记为实验

wljmcqd8

wljmcqd82#

如果只需要美元和美分,只需使用Number.prototype.toFixed方法格式化值并传递值2
是否要包括美元符号($)?

console.log((1000).toFixed(2));

隐藏分组分隔符

作为vr. mentioned,您可以使用实验性的useGrouping配置并将其设置为false(默认为auto),作为边节点,您应该存储您的格式化程序或在调用Number.prototype.toLocaleString时当场配置它。

const currencyFormatter = new Intl.NumberFormat('en-US', {
  style: 'currency',
  currency: 'USD',
  useGrouping: false
});

// Convenience function, can be removed
const formatCurrency = (item) => currencyFormatter.format(item);

console.log(formatCurrency(1000)); // or currencyFormatter.format(1000)

或者:

const formatCurrency = (item) => item.toLocaleString('en-US', {
  style: 'currency',
  currency: 'USD',
  useGrouping: false
});

console.log(formatCurrency(1000));

坚持以上两种方法中的一种。如果你要格式化很多数字,第一种是更好的选择。

相关问题