Last active
April 29, 2024 15:06
-
-
Save andre-bahia/14fdb0c751822f848a364b3129df1fed to your computer and use it in GitHub Desktop.
Flutter TextInputFormatter Currency pt_BR
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import 'package:flutter/services.dart'; | |
import 'package:intl/intl.dart'; | |
class CurrencyPtBrInputFormatter extends TextInputFormatter { | |
TextEditingValue formatEditUpdate(TextEditingValue oldValue, TextEditingValue newValue) { | |
if(newValue.selection.baseOffset == 0){ | |
return newValue; | |
} | |
double value = double.parse(newValue.text); | |
final formatter = new NumberFormat("#,##0.00", "pt_BR"); | |
String newText = "R\$ " + formatter.format(value/100); | |
return newValue.copyWith( | |
text: newText, | |
selection: new TextSelection.collapsed(offset: newText.length)); | |
} | |
} | |
// how to use | |
Widget _fieldValues() { | |
return Padding( | |
padding: EdgeInsets.only(top: 10, bottom: 60), | |
child: TextFormField( | |
decoration: InputDecoration( | |
icon: Icon(Icons.monetization_on), | |
labelText: 'Valor *', | |
), | |
keyboardType: TextInputType.number, | |
inputFormatters: [ | |
FilteringTextInputFormatter.digitsOnly, | |
CurrencyPtBrInputFormatter() | |
] | |
); | |
} | |
Ol谩, como ficaria para aceitar digita莽茫o da esquerda pra direita?
exemplo, se digitar
2 = 2,00
201 = 2,01
210 = 2,10
C贸digo m谩gico, salvo minha pele rsrs
C贸digo muito bom, mandou bem de mais!!
C贸digo muito bom. top
Top de vdd
At茅 que enfim, depois de ter deixado um c贸digo de lado um tempo ele parou de funcionar essa funcionalidade.
O seu resolveu meu problema, valeu !
obrigado lenda
Jesus, Maria e Jos茅 tu fez amor com o c贸digo <3
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
馃殌