toString method

  1. @override
String toString()
override

Texto no formato de saída do PostgreSQL: sem expoente e com exatamente scale dígitos depois da vírgula (NaN, Infinity, -Infinity para os valores especiais).

Implementation

@override
String toString() {
  switch (_kind) {
    case _nan:
      return 'NaN';
    case _posInf:
      return 'Infinity';
    case _negInf:
      return '-Infinity';
  }
  final digits = _unscaled.abs().toString();
  final sign = _unscaled.isNegative ? '-' : '';
  if (_scale == 0) return '$sign$digits';
  if (digits.length > _scale) {
    final point = digits.length - _scale;
    return '$sign${digits.substring(0, point)}.${digits.substring(point)}';
  }
  return '${sign}0.${digits.padLeft(_scale, '0')}';
}