تیک۴

فارسی کردن اعداد در برنامه نویسی اندروید

چگونه اعداد انگلیسی را در اندروید فارسی کنیم؟

خیلی مواقع در هنگام برنامه نویسی در اندروید مقادیر گرفته شده بصورت انگلیسی نمایش داده می شوند.
نیازمند تغییر و تبدیل و فارسی کردن اعداد هستیم.
از جهتی در برنامه ما بودن اعداد انگلیسی در کنار حروف فارسی از زیبایی برنامه بسیار کم می کند پس باید فارسی کردن اعداد را انجام دهیم.
در این مطلب در تیک۴ قصد داریم چگونگی تبدیل اعداد انگلیسی به فارسی را آموزش دهیم.
تصویر زیر را مشاهده فرمایید.
اعداد بصورت فارسی نمایش داده شده اند. زیبایی برنامه افزایش یافته و قدرت خوانایی برنامه بالا می رود.
البته همانطور که  در تصویر که مشاهده می کنید وجود فونت فارسی زیبا و مناسب هم از اهمیت بسیار بالایی برخوردار است!

حال چگونه فارسی کردن اعداد را انجام دهیم؟

برای فارسی کردن اعداد یک کلاس ایجاد کرده.
تک تک حروف که از هر طریق دریافت کرده را به این کلاس می دهیم.
حال اگر عددی انگلیسی وجود داشت، آنرا بصورت فارسی بر می گرداند.
نمونه کلاس تعریف شده را در زیر در قالب کد میبینیم:

public class PersianDigitConverter {

    private static String[] persianNumbers = new String[]{ "۰", "۱", "۲", "۳", "۴", "۵", "۶", "۷", "۸", "۹" };

    public static String PerisanNumber(String text) {
        if (text.length() == 0) {
            return "";
        }
        String out = "";
        int length = text.length();
        for (int i = 0; i < length; i++) {
            char c = text.charAt(i);
            if ('0' <= c && c <= '9') {
                int number = Integer.parseInt(String.valueOf(c));
                out += persianNumbers[number];
            } else if (c == '٫') {
                out += '،';
            } else {
                out += c;
            }
        }
        return out;
    }
}

البته راه های دیگری هم برای تبدیل اعداد وجود دارد، اما این یک راه ساده است.
همچنین می توانید نام کلاس را دلخواه انتخاب کنید.
نام متد ها را هم دوست داشتید تغییر دهید.
کافی است برای فارسی کردن اعداد یک کلاس جاوا ایجاد کرده و کد بالا را در کپی (Copy) و در آن پیست (Paste) نمایید.
برای مثال مقدار رشته ای که قرار است در یک Textview نمایش داده شود، در هنگام قرار دادن ابتدا به این کلاس وارد میکنیم.

        TextView textView = findViewById(R.id.text_view);
        textView.setText(PersianDigitConverter.PerisanNumber("این یک نمونه است ۱۲ "));

برای آموزش های بیشتر از مطالب سایت دیدن فرمایید.

خروج از نسخه موبایل