はじめに
金額の単位を表示したい時などに使うやつです。
今回はNumberFormatを利用しました
NumberFormat class - intl library - Dart API
import
import 'package:intl/intl.dart';
3桁ごとにカンマ区切り
final formatter = NumberFormat("#,###.0");
var result = formatter.format(50101214);
print(result); // 50,101,214
3桁区切り小数点1桁まで
金額の単位を表示したい時など
final formatter = NumberFormat("#,###.0");
var value = (50101214 / 10000);
var result = formatter.format(value);
print(result+'万円'); //5,010.1万円
3桁区切り小数点2桁まで
final formatter = NumberFormat("#,###.0#");
var value = (50101214 / 10000);
var result = formatter.format(value);
print(result+'万円'); //5,010.12万円
他にも書き方等ある場合はコメントいただけると助かります。
2020/02/10追記 Stringにも対応
こちらの記事を参考にさせていただきました。
https://stackoverflow.com/questions/31931257/dart-how-to-add-commas-to-a-string-number
Function mathFunc = (Match match) => '${match[1]},';
RegExp reg = RegExp(r'(\d{1,3})(?=(\d{3})+(?!\d))');
String result = '20000円'.replaceAllMapped(reg, mathFunc);
print('$result');//20,000円