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
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.
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
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With