我们正在使用react-react的反应,并且需要编写我们自己的自定义输入字段。虽然可以将一个数字传递给react-intl API并使数字格式化得正确,但我们怎样才能找出千位分隔符和小数点之类的当前语言环境字符?
答案 0 :(得分:0)
您可以在react-intl's
注入intl
对象上访问Intl.NumberFormatter's formatToParts方法。
import React, { Component } from 'react';
import { injectIntl, intlShape } from 'react-intl';
class MyComponent extends Component {
static propTypes = {
intl: intlShape.isRequired,
};
render() {
const parts = this.props.intl.formatters
.getNumberFormat(this.props.intl.locale)
.formatToParts(9999.99);
return (
<div>
<div>
Decimal point:
{parts.find(i => i.type === 'decimal').value}
</div>
<div>
Thousands separator:
{parts.find(i => i.type === 'group').value}
</div>
</div>
);
}
}
export default injectIntl(MyComponent);
虽然这不是我想要的解决方案,但它是迄今为止我发现的最好的,至少你不会猜测每个角色的数字部分是什么。