تبدیل اعداد فارسی به انگلیسی در Asp.net و سی شارپ
سلام دوستان. چطور میتونم اعدادی که کاربر وارد میکنه رو اگر فارسی هست به انگلیسی تبدیل کنم و بعد از اون در دیتابیس ذخیره کنم ؟ به عنوان مثال عکس زیر رو ببینید. بعضی از کاربرا چون کیبوردشون فارسی بوده شماره تلفنشون توی دیتابیس به صورت فارسی ذخیره شده و بعضی دیگه به صورت انگلیسی. میخوام همه به صورت انگلیسی ذخیره بشن.

پاسخ هوش مصنوعی
برای تبدیل اعداد فارسی به انگلیسی در ASP.NET و C#، شما می توانید از کد زیر استفاده کنید:
public static string ConvertPersianDigitsToEnglish(string input)
{
return input
.Replace('0', '0')
.Replace('1', '1')
.Replace('2', '2')
.Replace('3', '3')
.Replace('4', '4')
.Replace('5', '5')
.Replace('6', '6')
.Replace('7', '7')
.Replace('8', '8')
.Replace('9', '9');
}
شما می توانید این تابع را در جایی که کاربر ورودی خود را وارد می کند، فراخوانی کنید. به عنوان مثال:
string userInput = txtPhoneNumber.Text; // فرض کنید این ورودی شماره تلفن کاربر است
string englishNumber = ConvertPersianDigitsToEnglish(userInput);
// حالا می توانید englishNumber را در دیتابیس ذخیره کنید
با این روش، همه اعداد فارسی وارد شده توسط کاربر به اعداد انگلیسی تبدیل می شوند و می توانید به راحتی آنها را در دیتابیس ذخیره کنید.
تبدیل اعداد فارسی به انگلیسی در Asp.net و سی شارپ
یکی از مشکلاتی که در خیلی از موارد پیش میاد فارسی بودن تنظیمات کیبورد کاربران می باشد.این موضوع باعث میشه اعداد وارد شده با Unicode فارسی تایپ بشن و به همین صورت در دیتابیس ذخیره بشن که باعث بروز مشکلاتی میشه. مثلا در جستجو ها ممکنه نتیجه صحیح رو نداشته باشه یا خیلی از وب سرویس ها اعداد به صورت فارسی رو قبول نمیکنن. برای رفع این مشکل میتونید از کلاس زیر استفاده کنید.
public static class ConvertArabicNumberToEnglish
{
public static string toEnglishNumber(string input)
{
string EnglishNumbers = "";
for (int i = 0; i < input.Length; i++)
{
if (Char.IsDigit(input[i]))
{
EnglishNumbers += char.GetNumericValue(input, i);
}
else
{
EnglishNumbers += input[i].ToString();
}
}
return EnglishNumbers;
}
}
کافیه هر جایی که نیاز داشتید اعداد فارسی را به صورت اعداد انگلیسی تبدیل کنید از فیلتر این کلاس عبورش بدید. خروجی این کلاس عدد انگلیسی می باشد.
ConvertArabicNumberToEnglish.toEnglishNumber("٠٩٩٠٢١٢");
تبدیل اعداد انگلیسی به فارسی در Asp.net و سی شارپ
برعکس کار بالا یعنی تبدیل عدد انگلیسی به فارسی هم میتونید توسط کد زیر انجام بدید.
public static string ConvertEnToFaNumber(string englishNumber)
{
string persianNumber = "";
foreach (char ch in englishNumber)
{
persianNumber += (char)(1776 + char.GetNumericValue(ch));
}
return persianNumber;
}
- جلوگیری از اد شدن خودکار در گروه و کانال تلگرام
- کم کردن حجم فیلم توسط کد در Asp net core
- چه کسانی استوری تلگرام را می بینند ؟
- برای کسب و کار تلگرام پرمیوم بهتره یا واتس اپ بیزینس ؟
- جلوگیری از انتشار غیرمجاز مطالب در کانال های تلگرامی
- تفاوت های تلگرام و واتس اپ چیست ؟
- چرا استوری های واتس اپ برای دوستان نمایش داده نمیشن ؟
- چند تا استوری رایگان می تونیم تلگرام بذاریم ؟
- خطای Severity Code Description Project هنگام استارت پروژه
- کار نکردن navBar و sideBar در پروژه Asp.net core
- کار با CkEditor با قابلیت آپلود عکس
- خطا در ایجاد migration در Asp.net core
- مشکل تاریخ شمسی در سی شارپ
- تفاوت های Asp.net core و Asp.net mvc چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- نحوه لایه بندی پروژه Core و اضافه کردن به IIS
- ارسال ایمیل در Asp.net core
- آیا میشه در mvc core از کامپونت استفاده کرد
- نمایش گزارش stimulsoft روی کلاینت
- آپلود فایل در Asp.net core چگونه است؟