FixedNumberPrinter<T extends num> constructor

FixedNumberPrinter<T extends num>({
  1. double? accuracy,
  2. int base = 10,
  3. List<String> characters = NumeralSystem.latin,
  4. String delimiter = delimiterString,
  5. String infinity = infinityString,
  6. String nan = nanString,
  7. int padding = 0,
  8. int precision = 0,
  9. String separator = '',
  10. Printer<T>? sign,
})

Prints numbers in a custom fixed format.

Implementation

FixedNumberPrinter({
  this.accuracy,
  this.base = 10,
  this.characters = NumeralSystem.latin,
  this.delimiter = delimiterString,
  this.infinity = infinityString,
  this.nan = nanString,
  this.padding = 0,
  this.precision = 0,
  this.separator = '',
  Printer<T>? sign,
})  : assert(base <= characters.length, 'Not enough characters for base'),
      sign = sign ?? SignNumberPrinter<T>.omitPositiveSign(),
      _integer = const Printer<String>.standard()
          .mapIf(padding > 0,
              (printer) => printer.padLeft(padding, characters[0]))
          .mapIf(separator.isNotEmpty,
              (printer) => printer.separateRight(3, 0, separator)),
      _fraction = const Printer<String>.standard()
          .mapIf(precision > 0,
              (printer) => printer.padLeft(precision, characters[0]))
          .mapIf(separator.isNotEmpty,
              (printer) => printer.separateLeft(3, 0, separator));