我在React Intl中使用了Formattednumber,它是一个具有许多不同语言功能的大型React项目.
这是我制作的货币组件,以便我可以轻松地将格式化的货币插入到我的视图中:
import {Formattednumber} from 'react-intl'; const Currency = (props) => { const currency = props.currency; const minimum = props.minimumFractionDigits || 2; const maximum = props.maximumFractionDigits || 2; return <Formattednumber value={props.amount} style="currency" currency={currency} minimumFractionDigits={minimum} maximumFractionDigits={maximum} />; }; export default Currency;
该组件非常有效.而且,它按预期工作.在英语中 – 当货币是GBP时 – 金额的格式如下:
£4.00
在德语中 – 当货币是欧元时 – 它的格式如下:
4,00€
但是,我需要在特定情况下以不同方式格式化数量.所以,我正在寻找的是欧元在金额之前到来,就像这样:
€4,00
Formattednumber可以实现吗?如果可以避免,我不想手动重新格式化格式化的数字.
您可以使用具有相应语言环境支柱的IntlProvider组件包装Formattednumber,如下所示:
<IntlProvider locale='en'> <Formattednumber value={props.amount} style="currency" currency={props.currency} /> </IntlProvider>
也许’en’文件仍然不正确,因为它会使用句点而不是逗号,但你可以找一个提供正确格式的语言环境(see here)或者自己写一个(保持简单复制en语言环境并用相应行中的逗号替换句点).
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。