Amount as a decimal string. Numbers are rejected because they may already have lost precision.
Optional allowNegative, excessDecimals ('reject', 'round', 'truncate'), and maxMinorUnits.
{ isValid: true, data } with { minorUnits, decimal }, or { isValid: false, error, errors, code }.
Parses a decimal string into exact cents. Numbers are intentionally rejected because they may already have lost decimal precision.