NumberEditingTextController class abstract interface

A TextEditingController that automatically formats user input as numbers, decimals, or currencies with locale-aware formatting.

Use one of the factory constructors to create an instance:

Or instantiate the subclasses directly:

The formatted text is displayed in the TextField, while the underlying numeric value can be accessed via the number property.

Formatting options such as locale, groupSeparator, and allowNegative can be changed at any time. Changing an option automatically reformats the current value.

Implemented types
Implementers

Constructors

NumberEditingTextController.currency({String? locale, String? currencyName, String? currencySymbol, num? value, String? decimalSeparator, String? groupSeparator, bool allowNegative})
Creates a controller instance suitable for formatting input as a currency amount.
factory
NumberEditingTextController.decimal({String? locale, int? minimalFractionDigits, int? maximumFractionDigits, num? value, String? decimalSeparator, String? groupSeparator, bool allowNegative})
Creates a controller instance suitable for formatting input as a decimal number.
factory
NumberEditingTextController.integer({String? locale, num? value, String? groupSeparator, bool allowNegative})
Creates a controller instance suitable for formatting input as an integer.
factory

Properties

allowNegative bool
Whether negative number input is allowed.
getter/setter pair
groupSeparator String?
The symbol used to group digits (e.g. , in 1,000).
getter/setter pair
hashCode int
The hash code for this object.
no setterinherited
hasListeners bool
Whether any listeners are currently registered.
no setterinherited
locale String?
The locale used for number formatting.
getter/setter pair
number num?
The underlying numeric value extracted from the formatted text.
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
selection TextSelection
The currently selected range within text.
getter/setter pairinherited
text String
The current string the user is editing.
getter/setter pairinherited
value TextEditingValue
The current value stored in this notifier.
getter/setter pairinherited

Methods

addListener(VoidCallback listener) → void
Register a closure to be called when the object changes.
inherited
buildTextSpan({required BuildContext context, TextStyle? style, required bool withComposing}) TextSpan
Builds TextSpan from current editing value.
inherited
clear() → void
Set the value to empty.
inherited
clearComposing() → void
Set the composing region to an empty range.
inherited
dispose() → void
Discards any resources used by the object.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
notifyListeners() → void
Call all the registered listeners.
inherited
removeListener(VoidCallback listener) → void
Remove a previously registered closure from the list of closures that are notified when the object changes.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited