如何在 Dart 中将数字格式化为千位分隔符
Posted
技术标签:
【中文标题】如何在 Dart 中将数字格式化为千位分隔符【英文标题】:How to format numbers as thousands separators in Dart 【发布时间】:2020-10-16 04:50:36 【问题描述】:我必须在飞镖中将数字格式化为千位分隔符。我有这样的数字:
16987
13876
456786
我想将它们格式化为:
16,987
13,876
4,56,786
【问题讨论】:
你可以试试NumberFormat
from intl
package
【参考方案1】:
您可以在 ICU 格式化模式中使用 NumberFormat 传递自定义格式,查看NumberFormat。
import 'package:intl/intl.dart';
void main()
var formatter = NumberFormat('#,##,000');
print(formatter.format(16987));
print(formatter.format(13876));
print(formatter.format(456786));
输出
16,987
13,876
4,56,786
【讨论】:
是否可以对字符串做同样的事情?我很难做到这一点。 @ManoHaran 嗨!使用double.tryParse("10000")
或double.parse("10000")
,在此之后只是格式。【参考方案2】:
我发现intl 包中的NumberFormat 类非常有用,因为它提供了不同的数字格式。
默认情况下,NumberFormat 类格式的数字使用默认的美国语言环境,以百万为单位,我们可以使用印度语言环境设置以十万为单位的数字格式(它可以根据任何国家语言环境格式化数字或货币)。NumberFormat.decimalPattern([String locale])
。
import 'package:intl/intl.dart';
void main()
NumberFormat numberFormat = NumberFormat.decimalPattern('hi');
print(numberFormat.format(16987));
print(numberFormat.format(13876));
print(numberFormat.format(456786));
输出
16,987
13,876
4,56,786
【讨论】:
以上是关于如何在 Dart 中将数字格式化为千位分隔符的主要内容,如果未能解决你的问题,请参考以下文章