Ultimate

X_MONEY_SCALE_INVALID

Means

a Money.scale that is not usable — either the exponent itself, or the one two operands would have to meet at

Typical cause

a fractional, negative or out-of-range scale (15 is the last exponent whose power of ten is still a safe integer); or adding a coarse value to a fine one, where widening to their common scale overflows a safe integer

Fix

use a scale in range — fromMinor(minor, currency, 6) for micros, or omit it for the currency's own minor unit. On an overflow the cause names the finest scale that fits: rescale(value, <scale>, 'half-up')

Listed under i18n, money, time

This page as markdown