anchor.diff:      this.delimiter = delimiterString,
       this.infinity = infinityString,
       this.nan = nanString,
  +    this.padding = 0,
       this.precision = 0,
       this.separator,
       this.sign = omitPositiveSign,
  -  });
  +  })  : _integerPrinter = Printer.standard()
  +            .mapIf(padding > 0,
  +                (printer) => printer.padRight(padding, characters[0]))
  +            .mapIf(separator != null,
  +                (printer) => printer.separateRight(3, 0, separator)),
  +        _fractionPrinter = Printer.standard()
  +            .mapIf(precision > 0,
  +                (printer) => printer.padLeft(precision, characters[0]))
  +            .mapIf(separator != null,
  +                (printer) => printer.separateLeft(3, 0, separator));
   
     @override
     String call(Object object) => _prependSign(
  
positive.code:   /// The string that should be displayed if the number is not a number.
    final String nan;
  
    /// The number of digits to be printed in the fraction part.
    final int precision;
  
  
negative.code: 
    String _convertFraction(double value) {
      final digits = _intDigits(value.round(), base);
      final result = _formatDigits(digits, characters);
      return _fractionPrinter(result);
    }
  
    String _convertBigInt(BigInt value) {
  