faire EditText à deux décimales
je veux montrer que deux chiffres après la virgule dans mon édition de texte, l'ofc je veux montrer monnaie en modifier le texte, mais en limitant sa valeur à 2 chiffres après la virgule.
J'ai vu des solutions en utilisant l'expression régulière, mais je ne veux pas le faire. J'AI été dit que le support de java intérieur d'une bibliothèque de fonctions qui peuvent le faire. Quelqu'un peut me donner des astuces ou me donner des code efficace.
Ce qui concerne
amount.setRawInputType(Configuration.KEYBOARD_12KEY);
amount.addTextChangedListener(new TextWatcher()
{
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
//TODO Auto-generated method stub
DecimalFormat formatVal = new DecimalFormat("##.##");
String formatted = formatVal.format(s);
amount.setText(formatted);
}
Avez-vous pensé à mettre en œuvre une sorte de 2 sélecteur de fente à la place? Juste une idée. Peut-être un plus convivial UX.
OriginalL'auteur Muhammad Umar | 2012-02-17
Vous devez vous connecter pour publier un commentaire.
Vous pouvez simplement utiliser
DecimalFormat
Vous recevez le résultat dans
EditText
comme22.12
J'ai édité ma réponse.
ok, j'ai mis ce code dans onTextChanged de la propriété. il donne des argument illégal d'exception. Une Idée?
Sans voir le code en comment puis-je obtenir une idée de l'endroit où vous êtes l'obtention d'exception?
vérifier le code svp
OriginalL'auteur Lalit Poptani
Ici est une solution qui limite l'utilisateur lors de la saisie dans le texte à modifier.
par exemple, 12.22 seulement 2 chiffres avant et deux chiffres après la virgule ponit seront autorisés à entrer.
OriginalL'auteur Jaura
Vous avez juste besoin d'attribuer
setKeyListener()
à votreEditText
.Renvoie une
DigitsKeyListener
qui accepte les chiffres de 0 à 9, en plus le signe moins (au début seulement) et/ou du point décimal (un seul par champ) si spécifié.OriginalL'auteur Paresh Mayani