stringValue property
Canonical string representation of this item.
Implementation
@override
String get stringValue {
if (value.isNaN) return 'NaN';
if (value == double.infinity) return 'INF';
if (value == double.negativeInfinity) return '-INF';
if (value == 0.0) return value.isNegative ? '-0' : '0';
var d = value;
if (type == xsFloat) {
for (var p = 1; p <= 9; p++) {
final candidate = double.parse(value.toStringAsPrecision(p));
if (roundToFloat(candidate) == value) {
d = candidate;
break;
}
}
}
final abs = d.abs();
if (abs >= 1e-6 && abs < 1e6) {
final s = d.toString();
return s.endsWith('.0') ? s.substring(0, s.length - 2) : s;
}
return _toXPathScientific(d);
}