Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to format numbers as thousands separators in Dart

I have to format numbers as thousands separators in dart. I have numbers like:

16987

13876

456786

and I want to format them as :

16,987

13,876 

4,56,786
like image 675
Shubhamhackz Avatar asked Jun 25 '20 16:06

Shubhamhackz


People also ask

How do you format a thousands separator?

The character used as the thousands separatorIn the United States, this character is a comma (,). In Germany, it is a period (.). Thus one thousand and twenty-five is displayed as 1,025 in the United States and 1.025 in Germany. In Sweden, the thousands separator is a space.


2 Answers

You can use NumberFormat passing a custom format in ICU formatting pattern, take a look in NumberFormat.

import 'package:intl/intl.dart';

void main() {
  var formatter = NumberFormat('#,##,000');
  print(formatter.format(16987));
  print(formatter.format(13876));
  print(formatter.format(456786));
}

Output

16,987
13,876
4,56,786
like image 133
Dlani Mendes Avatar answered Sep 21 '22 00:09

Dlani Mendes


I found NumberFormat class from intl package very useful as it provides different ways to format numbers.

By default the NumberFormat class format's number in million's using default American locale and we can format numbers in lakh using Indian locale(It can format number or currency according to any countries locale).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));
}

Output

16,987
13,876
4,56,786
like image 39
Shubhamhackz Avatar answered Sep 17 '22 00:09

Shubhamhackz