在javascript中的Intl.NumberFormat函数中添加MaximumIntegraterDigits选项
我有一个react组件,它使用在javascript中的Intl.NumberFormat函数中添加MaximumIntegraterDigits选项,javascript,number-formatting,currency-formatting,Javascript,Number Formatting,Currency Formatting,我有一个react组件,它使用Intl.NumberFormatjavascript函数格式化货币 import React from 'react'; import PropTypes from 'prop-types'; import classNames from 'classnames'; const Amount = ({ value, currency, locale, className, maxFractionDigit, minFractionDigi
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',
currency,
currencySign: 'standard',
notation,
compactDisplay,
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;
从“React”导入React;
从“道具类型”导入道具类型;
从“类名称”导入类名称;
常数金额=({
价值
货币,
场所
类名,
MaxFractionDigital,
minFractionDigit,
符号
小型显示器,
}) => {
const amount=新的Intl.NumberFormat(区域设置{
风格:“货币”,
货币,
货币符号:“标准”,
符号
小型显示器,
maximumFractionDigits:maxFractionDigit,
最小分数位数:最小分数位数,
}).格式(值);
返回{amount};
};
Amount.defaultProps={
地点:“en US”,
类名:null,
maxFractionDigit:2,
minFractionDigit:0,
表示法:'紧凑',
compactDisplay:'短',
};
Amount.propTypes={
值:PropTypes.oneOfType([PropTypes.string,PropTypes.number])是必需的,
货币:PropTypes.string.isRequired,
区域设置:PropTypes.oneOfType([PropTypes.string,PropTypes.node]),
类名:PropTypes.string,
maxFractionDigit:PropTypes.number,
minFractionDigit:PropTypes.number,
注释:PropTypes.one of(['standard'、'scientific'、'engineering'、'compact']),其中之一,
compactDisplay:PropTypes.oneOf(['short','long']),
};
出口违约金额;
它设置给定货币的格式,即:如果输入为
123456.5556
,则输出为123.46K
,但现在我想更改最大整数位数以显示为6,因此如果输入为123456.5556
,则输出始终为123456.5556
。e、 g:不会有任何K
符号,因此最小截断将来自M
而不是K
。因此,对于输入1234567.5556
输出将123万美元
,我在这里查看了文档,但没有找到任何类似最大集成数字
的选项,因此,我如何使用当前代码实现这一点。@JaromandaX它是由compactDisplay
notation
参数在Intl.NumberFormat
函数中自动完成的,该函数是Javascript的默认值,这里是文档对不起,我误读了。。。因此,您希望123456.5556为123456.5556-然后不要使用紧凑表示法,除非金额>9999999.99999。。。。i、 e.即符号:值<1e6?“标准“:“compact”
@JaromandaX它是通过Intl.NumberFormat
函数中的compactDisplay
符号:值<1e6?“标准“:“紧凑型”