Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev2.3.2

currency_text_input_formatter

Formatador de entrada de texto de moeda para Flutter. Use-o facilmente e simplesmente em seu aplicativo Flutter.

AndroidiOSWebmacOSWindowsLinux
Downloads em 30 dias
121 mil
Curtidas
293
Pontos Pub
160

Instalar pacote

flutter pub add currency_text_input_formatter

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

Um pacote Flutter que formata a entrada de texto como moeda, adicionando automaticamente símbolos, separadores e pontos decimais. Simplifica o manuseio de valores monetários em campos de texto, garantindo formatação consistente durante a entrada do usuário. Ideal para formulários que exigem entrada de dados financeiros, suporta múltiplas plataformas, incluindo móvel, web e desktop. O formatador é fácil de integrar e melhora a experiência do usuário ao fornecer feedback visual em tempo real sobre a entrada de moeda.

Casos de uso

  • Campos de entrada do formulário do aplicativo financeiro
  • Entrada de preço de comércio eletrônico
  • aplicativos de rastreamento de despesas
  • Sistemas de fatura e cobrança
  • Detalhes financeiros do perfil do usuário
  • Integração de gateway de pagamento

Principais recursos

  • Formatação de moeda em tempo real
  • Suporta símbolos de moeda personalizados
  • Separadores automáticos de decimais e milhares
  • Compatibilidade multiplataforma
  • Integração simples com TextFields
  • Casas decimais configuráveis

Indicado para

  • Desenvolvedores construindo aplicativos relacionados a finanças
  • Aplicativos que exigem entrada monetária formatada
  • Projetos que precisam de formatação numérica consistente
  • Equipes priorizando a usabilidade da entrada do usuário
  • Iniciantes do Flutter procurando formatadores simples

Considerações

  • Pode exigir validação adicional para casos extremos
  • Opções de personalização limitadas ao formato básico
  • Não trata a conversão de moeda
  • Não é adequado para ambientes multi-moeda sem lógica adicional
  • Impacto no desempenho desprezível, mas presente em atualizações de alta frequência

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

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

Categorias

Dependências

Lista de dependências 1 itens

Repositório-fonte

Projetos que usam este pacote