toDecimal method

  1. @override
XPathDecimal toDecimal()
override

Implementation

@override
XPathDecimal toDecimal() {
  if (value.isNaN || value.isInfinite) {
    throw XPathEvaluationException(
      XPathErrorCode.FOCA0002,
      'Cannot convert $value to xs:decimal',
    );
  }
  if (value.abs() >= 1e100) {
    throw XPathEvaluationException(
      XPathErrorCode.FOCA0001,
      'Float value too large for decimal: $value',
    );
  }
  return XPathDecimal.parse(value.toString());
}