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

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

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

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

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

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("این یک نمونه است ۱۲ "));

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

دیدگاه‌ خود را بیان کنید

اشتراک در
اطلاع از
guest

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

4 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها
|µ$@®
|µ$@®
4 سال قبل

سلام خسته نباشید
من میخوام برعکس این کار رو انجام بدم یعنی اعداد گوشیم فارسیه میخوام انگلیسی‌شون کنم؛ راهی هست؟

امیرحسین بخشی
مدیر
امیرحسین بخشی
4 سال قبل
پاسخ به  |µ$@®

با سلام و خسته نباشید. اگر فونت یا لانچر جانبی نصب نکردید به صورت پیشفرض اعداد باید انگلیسی باشد.

محمدرضا علیزاده
محمدرضا علیزاده
3 سال قبل

سلام ببخشید من فونت عکسی که گذاشتید رو میخواستم. تو سایتها گشتم پیدا نکردم اسمش چیه. شما میتونید راهنماییم کنید

علی رضایی
مدیر
علی رضایی
3 سال قبل

با سلام و خسته نباشید
فونت موجود در عکس نازنین ویرایش شده می باشد
با تشکر از همراهی شما

سبد خرید0
There are no products in the cart!