パッケージ、リポジトリ、アプリカテゴリを検索

パッケージ詳細v2.3.2

currency_text_input_formatter

Flutter用の通貨テキスト入力フォーマッター。Flutterアプリで簡単に使いやすくご利用ください。

AndroidiOSWebmacOSWindowsLinux
30日間ダウンロード
12.1万
いいね数
293
Pub ポイント
160

パッケージをインストール

flutter pub add currency_text_input_formatter

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

テキスト入力を通貨形式にフォーマットするFlutterパッケージで、記号、区切り記号、小数点を自動的に追加します。ユーザーの入力時に一貫したフォーマットを保つことで、テキストフィールドでの金額値の取り扱いを簡素化します。金融データ入力が必要なフォームに最適であり、モバイル、Web、デスクトップを含む複数のプラットフォームをサポートしています。フォーマッターは簡単に統合でき、リアルタイムの通貨入力の視覚フィードバックを提供してユーザー体験を向上させます。

用途

  • 金融アプリのフォーム入力
  • EC価格入力
  • 経費追跡アプリケーション
  • 請求および課金システム
  • ユーザーのプロフィール財務情報
  • 決済ゲートウェイの統合

主な機能

  • リアルタイム通貨フォーマット
  • カスタム通貨記号をサポート
  • 自動的小数点および千単位区切り
  • クロスプラットフォーム互換性
  • TextField との簡単な統合
  • 小数点以下の桁数を設定可能

適している対象

  • 金融関連のアプリを開発する開発者
  • 書式付き通貨入力が必要なアプリ
  • 一貫した数値フォーマットが必要なプロジェクト
  • ユーザー入力の使いやすさを重視するチーム
  • 簡単なフォーマッターを探しているFlutter初心者

注意事項

  • エッジケースに対する追加の検証が必要になる場合があります
  • カスタマイズオプションは基本的な書式設定に限定されています
  • 通貨変換を処理しない
  • 追加の論理がなければ、多通貨環境には適していません
  • 高頻度の更新ではわずかだが存在するパフォーマンスへの影響

元の README

関連するソースリポジトリの README 原文のスナップショットです。最新の内容はリポジトリをご覧ください。

Currency Text Input Formatter

pub package

Currency Text Input Formatter for Flutter. https://pub.dev/packages/currency_text_input_formatter

Installation

Solving Intl package conflict

Add this code end of pubspec.yaml.

dependency_overrides:
  intl: your intl package version

Usage

Basic
import 'package:currency_text_input_formatter/currency_text_input_formatter.dart';
import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Welcome to Flutter',
      home: Scaffold(
        appBar: AppBar(
          title: Text('Welcome to Flutter'),
        ),
        body: Center(
          child: TextField(
            inputFormatters: [CurrencyTextInputFormatter.currency()],
            // inputFormatters: [CurrencyTextInputFormatter.simpleCurrency()], < for simple
            // inputFormatters: [CurrencyTextInputFormatter()], < for basic
            keyboardType: TextInputType.number,
          ),
        ),
      ),
    );
  }
}
With initialValue
import 'package:currency_text_input_formatter/currency_text_input_formatter.dart';
import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Welcome to Flutter',
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Welcome to Flutter'),
        ),
        body: Center(
          child: MyFormField(),
        ),
      ),
    );
  }
}

class MyFormField extends StatefulWidget {
  const MyFormField({ super.key });

  @override
  State<MyFormField> createState() => _MyFormFieldState();
}

class _MyFormFieldState extends State<MyFormField> {
  final CurrencyTextInputFormatter _formatter = CurrencyTextInputFormatter.currency();

  @override
  Widget build(BuildContext context) {
    return TextFormField(
      initialValue: _formatter.formatString('2000'),
      inputFormatters: <TextInputFormatter>[_formatter],
      keyboardType: TextInputType.number,
    );
  }
}
Custom Options
import 'package:currency_text_input_formatter/currency_text_input_formatter.dart';
import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Welcome to Flutter',
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Welcome to Flutter'),
        ),
        body: Center(
          child: TextField(
            inputFormatters: <TextInputFormatter>[
              CurrencyTextInputFormatter.currency(
                locale: 'ko',
                decimalDigits: 0,
                symbol: 'KRW(원) ',
              ),
            ],
            keyboardType: TextInputType.number,
          ),
        ),
      ),
    );
  }
}
With built-in methods
import 'package:currency_text_input_formatter/currency_text_input_formatter.dart';
import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Welcome to Flutter',
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Welcome to Flutter'),
        ),
        body: Center(
          child: MyFormField(),
        ),
      ),
    );
  }
}

class MyFormField extends StatefulWidget {
  const MyFormField({ super.key });

  @override
  State<MyFormField> createState() => _MyFormFieldState();
}

class _MyFormFieldState extends State<MyFormField> {
  final CurrencyTextInputFormatter _formatter = CurrencyTextInputFormatter.currency();

  @override
  Widget build(BuildContext context) {
    // Built-in Methods
    print(_formatter.getFormattedValue()); // $ 2,000
    print(_formatter.getUnformattedValue()); // 2000.00
    print(_formatter.formatString('2000')); // $ 2,000
    print(_formatter.formatDouble(20.00)); // $ 20

    return TextFormField(
      inputFormatters: <TextInputFormatter>[_formatter],
      keyboardType: TextInputType.number,
    );
  }
}

Recommend Libraries

Maintainer

License

MIT

カテゴリー

依存関係

依存関係一覧 1 件

ソースリポジトリ

このパッケージを使用しているプロジェクト