normalizeCSVValue<V> function

String normalizeCSVValue<V>(
  1. V value, {
  2. String separator = ',',
  3. bool commaAsDecimalSeparator = false,
  4. int decimalPrecision = 4,
})

Normalizes a CSV column value.

Implementation

String normalizeCSVValue<V>(V value,
    {String separator = ',',
    bool commaAsDecimalSeparator = false,
    int decimalPrecision = 4}) {
  String s;

  if (value is double) {
    var d = formatDecimal(value,
        decimalSeparator: commaAsDecimalSeparator ? ',' : '.',
        precision: decimalPrecision);
    if (d == null) {
      d = '$value';
      if (commaAsDecimalSeparator) {
        d = d.replaceFirst('.', ',');
      }
    }
    s = d;
  } else {
    s = '$value';
  }

  if (s.contains(separator)) {
    s = '"$s"';
  }

  return s;
}