연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.
Currency Text Input Formatter
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 ()],
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) {
print (_formatter.getFormattedValue ());
print (_formatter.getUnformattedValue ());
print (_formatter.formatString ('2000' ));
print (_formatter.formatDouble (20.00 ));
return TextFormField (
inputFormatters: <TextInputFormatter >[_formatter],
keyboardType: TextInputType .number,
);
}
}
Recommend Libraries
Maintainer
License
MIT