Price.tsx 699 B

123456789101112131415161718192021
  1. export const Price = ({
  2. amount,
  3. className,
  4. currencyCode = "USD",
  5. ...rest
  6. }: {
  7. amount: string | number;
  8. className?: string;
  9. currencyCode: string;
  10. } & React.ComponentProps<"span">) => {
  11. // currencyDisplay使用narrowSymbol的话,加元,澳元的货币符号都会用简写形式显示成$
  12. // 使用symbol,美元符号又会显示成US$
  13. const currencyDisplay = currencyCode === 'USD' ? 'narrowSymbol' : 'symbol';
  14. return <span className={className} suppressHydrationWarning={true} {...rest}>
  15. {`${new Intl.NumberFormat(undefined, {
  16. style: "currency",
  17. currency: currencyCode,
  18. currencyDisplay: currencyDisplay,
  19. }).format(Number(amount))}`}
  20. </span>
  21. };