0 purchases
currency text input formatter
Currency Text Input Formatter #
Currency Text Input Formatter for Flutter.
https://pub.dev/packages/currency_text_input_formatter
Installation #
Add pubspec.yaml #
dependencies:
currency_text_input_formatter: ^2.2.3
copied to clipboard
Solving Intl package conflict #
Add this code end of pubspec.yaml.
dependency_overrides:
intl: your intl package version
copied to clipboard
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,
),
),
),
);
}
}
copied to clipboard
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<YellowBird> createState() => _MyFormFieldState();
}
class _MyFormFieldState extends State<MyFormField> {
final CurrencyTextInputFormatter _formatter = CurrencyTextInputFormatter.currency();
@override
Widget build(BuildContext context) {
return TextFormField(
initialValue: _formatter.format('2000'),
inputFormatters: <TextInputFormatter>[_formatter],
keyboardType: TextInputType.number,
);
}
}
copied to clipboard
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,
),
),
),
);
}
}
copied to clipboard
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<YellowBird> 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.format('2000')); // $ 2,000
print(formatter.formatDouble('20.00')); // $ 20
return TextFormField(
inputFormatters: <TextInputFormatter>[_formatter],
keyboardType: TextInputType.number,
);
}
}
copied to clipboard
Recommend Libraries #
Confirm Dialog - Confirm Dialog Widget for Flutter(JS-LIKE).
Prompt Dialog - Prompt Dialog Widget for Flutter(JS-LIKE).
Alert Dialog - Alert Dialog Widget for Flutter(JS-LIKE).
Maintainer #
Jehun Seem
License #
MIT
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.