asMoney method

String asMoney({
  1. bool hasDecimals = true,
  2. String currency = 'VND',
  3. bool thousandGroup = false,
})

Implementation

String asMoney({
  bool hasDecimals = true,
  String currency = 'VND',
  bool thousandGroup = false,
}) {
  if (thousandGroup) {
    return '${formatCurrency()} $currency';
  }
  var formatter = NumberFormat(hasDecimals ? '###,###.000' : '###,###');
  var formattedNum = this == 0 ? '0' : formatter.format(this);
  if (formattedNum.endsWith('.000')) {
    formattedNum = formattedNum.substring(0, formattedNum.length - 4);
  }
  if (formattedNum.startsWith('.')) {
    formattedNum = '0$formattedNum';
  }
  return '$formattedNum $currency';
}