搜尋套件、儲存庫與 APP 分類

套件詳情v1.0.0+9

number_text_input_formatter

Flutter 的數字文字輸入格式化程式

AndroidiOSWebmacOSWindowsLinux
近 30 天下載
3
喜歡數
32
Pub 分數
130

安裝套件

flutter pub add number_text_input_formatter

套件介紹

根據套件公開資料產生的選型評估,僅供參考。

一個 Flutter 套件,可將文字輸入格式化為數字,自動處理小數點、千位分隔符和負號。它確保使用者輸入符合數值規範,同時在文字欄位中維持清晰易讀的格式。非常適合需要輸入數值的表單,例如價格、數量或測量值。該格式化程式可在所有主要平台(包括 Android、iOS、Web、macOS、Windows 和 Linux)上運作,無論裝置如何,都能提供一致的行為。支援自訂小數精確度和地區特定的格式化。

適用情境

  • 價格的表單輸入
  • 帶格式的數量輸入
  • 測量數據收集
  • 金融應用
  • 使用者友善的數字輸入
  • 即時驗證的資料輸入

主要特色

  • 數字的自動格式化
  • 支援小數與負數
  • 千位分隔符支援
  • 可自定義的小數精確度
  • 跨平台一致性
  • 地區設定感知格式化

適合對象

  • 開發金融應用的開發者
  • 需要數值輸入的表單
  • 需要即時輸入反饋的應用程式
  • 跨平台 Flutter 專案
  • 偏好格式化數字輸入的使用者

使用建議

  • 可能需要針對邊緣情況進行額外驗證
  • 如果未正確設定,可能會干擾鍵盤導航
  • 僅限數值格式化
  • 預設情況下不處理非數字字符
  • 對高頻率更新的效能影響

原始 README

以下為關聯原始碼儲存庫的 README 原文快照,最新內容請造訪原始碼儲存庫。

Number Text Input Formatter

Number Text Input Formatter for Flutter.

Installation

dependencies:
  number_text_input_formatter: ^1.0.0

Usage

NumberTextInputFormatter

General-purpose formatter for numeric input fields.

TextField(
  inputFormatters: [
    NumberTextInputFormatter(
      integerDigits: 10,
      decimalDigits: 2,
      maxValue: '1000000000.00',
      decimalSeparator: '.',
      groupDigits: 3,
      groupSeparator: ',',
      allowNegative: false,
      overrideDecimalPoint: true,
      insertDecimalPoint: false,
      insertDecimalDigits: true,
    ),
  ],
  keyboardType: TextInputType.number,
),
Parameters
Parameter Type Default Description
integerDigits int? null Maximum number of integer digits. Must be > 0 if provided.
decimalDigits int? null Maximum number of decimal digits. Must be >= 0 if provided.
maxValue String? null Maximum allowed value (e.g. '9999.99'). Infers integerDigits and decimalDigits if not set.
decimalSeparator String '.' Character used as the decimal point. Must be a single character.
groupDigits int? null Group integer digits every N digits (e.g. 3 for thousands). Must be > 1 if provided.
groupSeparator String ',' Character used as the grouping separator. Must be a single character, different from decimalSeparator.
allowNegative bool false Whether to allow negative numbers.
fixNumber bool true Inserts 0 before a leading decimal point, and 0 after a trailing decimal point.
insertDecimalPoint bool false Automatically inserts the decimal point as the user types (e.g. 123 → 1.23). Requires decimalDigits to be set.
insertDecimalDigits bool false Always appends decimal digits with zeros (e.g. 5 → 5.00). Requires decimalDigits to be set.
overrideDecimalPoint bool false When a second decimal point is typed, moves the decimal point to the new position instead of ignoring it.
prefix String? null String prepended to the formatted value (e.g. '\$ ').
suffix String? null String appended to the formatted value (e.g. ' USD').

CurrencyTextInputFormatter

Pre-configured formatter for currency input. Defaults: 2 decimal digits, grouping every 3 digits, decimal point auto-inserted.

TextField(
  inputFormatters: [
    CurrencyTextInputFormatter(
      prefix: '\$ ',
    ),
  ],
  keyboardType: TextInputType.number,
),
Parameters

Same as NumberTextInputFormatter with these defaults:

Parameter Default
decimalDigits 2
groupDigits 3
insertDecimalPoint true

PercentageTextInputFormatter

Pre-configured formatter for percentage input. Defaults: max 100, 0 decimal digits, decimal digits always inserted.

TextField(
  inputFormatters: [
    PercentageTextInputFormatter(
      suffix: '%',
    ),
  ],
  keyboardType: TextInputType.number,
),
Parameters

Same as NumberTextInputFormatter with these defaults:

Parameter Default
integerDigits 3 (minimum 3)
decimalDigits 0
insertDecimalDigits true

The maxValue is automatically computed from integerDigits and decimalDigits (e.g. integerDigits: 3 → max 100).

所屬分類

原始碼儲存庫

使用此套件的專案

暫無相關資料。