在javascript的Intl.NumberFormat函数中添加maximumIntegerDigits选项

问题描述

我有一个react组件,可以使用Intl.NumberFormat JavaScript函数格式化货币

import React from 'react';
import PropTypes from 'prop-types';
import classNames from 'classnames';

const Amount = ({
  value,currency,locale,className,maxFractionDigit,minFractionDigit,notation,compactdisplay,}) => {
  const amount = new Intl.NumberFormat(locale,{
    style: 'currency',currencySign: 'standard',maximumFractionDigits: maxFractionDigit,minimumFractionDigits: minFractionDigit,}).format(value);

  return <span className={classNames(className)}>{amount}</span>;
};

Amount.defaultProps = {
  locale: 'en-US',className: null,maxFractionDigit: 2,minFractionDigit: 0,notation: 'compact',compactdisplay: 'short',};

Amount.propTypes = {
  value: PropTypes.oneOfType([PropTypes.string,PropTypes.number]).isrequired,currency: PropTypes.string.isrequired,locale: PropTypes.oneOfType([PropTypes.string,PropTypes.node]),className: PropTypes.string,maxFractionDigit: PropTypes.number,minFractionDigit: PropTypes.number,notation: PropTypes.oneOf(['standard','scientific','engineering','compact']),compactdisplay: PropTypes.oneOf(['short','long']),};

export default Amount;

它格式化给定的货币,即:如果输入为123456.5556,则输出$123.46K,但现在我想更改最大整数位数以显示最多6,因此如果输入为{{1} }输出始终为123456.5556。例如:不会有任何123456.5556表示法,因此最小截断将来自K而非M。因此,对于输入K输出将是1234567.5556,我在这里浏览了文档https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat,但是没有找到像$1.23M这样的选项,因此如何使用当前代码

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)