material-number-field

Number entry with steppers, min/max/step, decimal precision, locale-aware thousands grouping and prefix/suffix. Hidden input posts the canonical dot-decimal string for Django.

basic — step 1, min 0, ArrowUp/Down and steppers clamp; typed out-of-range keeps the text and flags an error

valueChange:

money — step 0.01 (→ 2 decimals), grouping, prefix; posts "12400.5" while showing "12,400.50"

suffix unit · filled variant · empty with placeholder

disabled · readonly · error

currency — currency="USD": symbol placement, grouping and fraction digits from Intl (JPY → 0); posts the plain decimal. With Django's jsi18n loaded, DECIMAL_SEPARATOR / THOUSAND_SEPARATOR win over Intl.

USD valueChange:

RTL — steppers and prefix mirror

form post — hidden input carries the canonical value

posted: