flutter - Flutter NumberFormat 格式,无需更改语言
问题描述
我正在尝试根据所选货币格式化数字而不进行翻译。例如
Text(NumberFormat.simpleCurrency(
locale: 'bn_BN',
).format(123456.78));
输出
১,২৩,৪৫৬.৭৮৳
我想要格式,但不是语言环境。我如何让它看起来像这样 -
1,23,456.78 BDT or 1,23,456.78 ৳
有没有办法做到这一点
PS 我只需要千位分隔符或分组作为货币默认值,例如 BDT 分组是 XX,XX,XXX 千位后的第一个逗号,然后每 2 位数字后的逗号。这是 NumberFormat 自己做的事情,但不幸的是,只有当你传入语言环境时。
解决方案
您可以在代码中的某处定义自定义 NumberFormatter(假设您将在应用程序的不同部分使用它)并使用它来格式化()数字:
final myFormatter = new NumberFormat.currency(
name: 'BDT',
decimalDigits: 2,
customPattern: '#,##,##0.00 \u00A4',
);
Text(myFormatter.format(12345678.01)),
这将产生:1,23,45,678.01 BDT
推荐阅读
- java - 有没有办法通过 scala-maven-plugin 使用旧版本的 Java
- r - 祖先状态重建,多分法和没有分支长度
- django - django 按非相关表中的汇总值排序
- vagrant - Vagrant up Vm问题(MAC)
- javascript - 尝试禁用并稍后启用 javascript 中的按钮
- java - Java Thread 启动和运行函数
- excel - Excel公式转换成VBA
- android - 为什么camera2录制的视频不好?
- unity3d - 如何在 Unity 中将 Asset Bundle 上传到远程服务器
- spring-boot - 在 spring 调用 save 方法后,有没有办法更新并将名称发送到响应?