如何在 Dart 中将数字格式化为千位分隔符

How to format numbers as thousands separators in Dart

我必须在 dart 中将数字格式化为千位分隔符。我有这样的数字:

16987

13876

456786

我想将它们格式化为:

16,987

13,876 

4,56,786

您可以使用 NumberFormat 在 ICU 格式化模式中传递自定义格式,查看 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

我发现 NumberFormat class from intl 包非常有用,因为它提供了不同的方式来格式化数字。

默认情况下,NumberFormat class 使用默认的美国语言环境格式化以百万为单位的数字,我们可以使用印度语言环境格式化以万为单位的数字(它可以根据任何国家/地区的语言环境格式化数字或货币)。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