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:
- NumberEditingTextController.currency for currency amounts
- NumberEditingTextController.decimal for decimal numbers
- NumberEditingTextController.integer for integers
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.
,in1,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