metricengine.utils

Utility functions for the Metric Engine.

metricengine.utils.to_decimal(val)[source]

Best-effort conversion that respects FinancialValue wrappers and the current null-behaviour policy. Returns None on invalid/None inputs unless NullBinaryMode.RAISE is active, in which case it raises CalculationError.

Return type:

Decimal | None

Accepted:
  • Decimal: returned as-is

  • int (but not bool): exact

  • float / SupportsFloat: via repr() to preserve round-trip

  • str: via Decimal(str), after strip()

  • FinancialValue: returns its raw Decimal (or None)

  • None: returns None

Validation Utilities

Conversion Utilities

metricengine.utils.to_decimal(val)[source]

Best-effort conversion that respects FinancialValue wrappers and the current null-behaviour policy. Returns None on invalid/None inputs unless NullBinaryMode.RAISE is active, in which case it raises CalculationError.

Return type:

Decimal | None

Accepted:
  • Decimal: returned as-is

  • int (but not bool): exact

  • float / SupportsFloat: via repr() to preserve round-trip

  • str: via Decimal(str), after strip()

  • FinancialValue: returns its raw Decimal (or None)

  • None: returns None

Formatting Utilities