جدا کردن ۳ رقم ۳ رقم اعداد

سوال

سلام به برنامه نویسان عزیز انجمن درسمن . میخواستم داخل ادیت تکس بشه اعدادی که کاربر وارد میکنه رو ۳ رقم ۳رقم با “,” جدا کنم هرکاری کردم نشد . لطف کنید کدش رو برام بزارید ممنون.

در حال بررسی 0
amir 6 ماه 1 پاسخ 86 دیده شده 0

پاسخ ( ۱ )

  1. یه کلس درست کنید به اسم

    NumberTextWatcherForThousand

    بعد این کد رو کپی کنید توش

    package com.example.fazelsbr.myapplication;

    import android.text.Editable;
    import android.text.TextWatcher;
    import android.widget.EditText;
    import java.util.StringTokenizer;

    /**
    * Created by skb on 12/14/2015.
    */
    public class NumberTextWatcherForThousand implements TextWatcher {

    EditText editText;

    public NumberTextWatcherForThousand(EditText editText) {
    this.editText = editText;

    }

    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {

    }

    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {

    }

    @Override
    public void afterTextChanged(Editable s) {
    try
    {
    editText.removeTextChangedListener(this);
    String value = editText.getText().toString();

    if (value != null && !value.equals(“”))
    {

    if(value.startsWith(“.”)){
    editText.setText(“0.”);
    }
    if(value.startsWith(“0”) && !value.startsWith(“0.”)){
    editText.setText(“”);

    }

    String str = editText.getText().toString().replaceAll(“,”, “”);
    if (!value.equals(“”))
    editText.setText(getDecimalFormattedString(str));
    editText.setSelection(editText.getText().toString().length());
    }
    editText.addTextChangedListener(this);
    return;
    }
    catch (Exception ex)
    {
    ex.printStackTrace();
    editText.addTextChangedListener(this);
    }

    }

    public static String getDecimalFormattedString(String value)
    {
    StringTokenizer lst = new StringTokenizer(value, “.”);
    String str1 = value;
    String str2 = “”;
    if (lst.countTokens() > 1)
    {
    str1 = lst.nextToken();
    str2 = lst.nextToken();
    }
    String str3 = “”;
    int i = 0;
    int j = -1 + str1.length();
    if (str1.charAt( -1 + str1.length()) == ‘.’)
    {
    j–;
    str3 = “.”;
    }
    for (int k = j;; k–)
    {
    if (k 0)
    str3 = str3 + “.” + str2;
    return str3;
    }
    if (i == 3)
    {
    str3 = “,” + str3;
    i = 0;
    }
    str3 = str1.charAt(k) + str3;
    i++;
    }

    }

    public static String trimCommaOfString(String string) {
    // String returnString;
    if(string.contains(“,”)){
    return string.replace(“,”,””);}
    else {
    return string;
    }

    }
    }

    حالا کافیه برای ادیت تکستتون

    بنویسید

    editText.addTextChangedListener(new NumberTextWatcherForThousand(editText));

ارسال یک پاسخ