Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将阿拉伯数字转换为英文数字_C#_Xamarin.forms - Fatal编程技术网

C# 如何将阿拉伯数字转换为英文数字

C# 如何将阿拉伯数字转换为英文数字,c#,xamarin.forms,C#,Xamarin.forms,当有人在我的条目中输入阿拉伯数字时,应用程序就会结束。 我试图限制输入仅显示英文数字或将阿拉伯数字转换为英文 我在真正的设备上尝试,但不幸的是,根本无法工作 Dictionary<string, string> numberNames; // SUM1 لتخزين النتيجة الاولة int SUM1 = 0; // SUM2 لتخزين النتيجة الثانية int SUM2 = 0; // Display

当有人在我的条目中输入阿拉伯数字时,应用程序就会结束。 我试图限制输入仅显示英文数字或将阿拉伯数字转换为英文 我在真正的设备上尝试,但不幸的是,根本无法工作

 Dictionary<string, string> numberNames;


    // SUM1 لتخزين النتيجة الاولة 
    int SUM1 = 0;
    // SUM2 لتخزين النتيجة الثانية  
    int SUM2 = 0;
    // DisplayPromptAsync تخزين حالة الاشعار 
    string action;
    // لتبديل بين entrys 
    int tap = 1;
    // عدد الاعبين 
    int playercount = 1;

    int count = 0;
    bool scroll = false;

    public Blootrecord(bool newplay)
    {
        InitializeComponent();


      


        if (newplay)
        {
            DisplayPrompt(lblname1, "اسم فريقهم");
            DisplayPrompt(lblname2, "اسم فريقنا?");

        }
        else
        {
            // اذا مالنت الثيمة ب False هذا يعني انه يريد الرجوع لاخر لعية 
            // هذه اسطر لجلب اخر قيم تم تخزينها 
            lblname1.Text = Preferences.Get("lblname1", "");
            lblname2.Text = Preferences.Get("lblname2", "");
            num1.Text = Preferences.Get("num1", "");
            num2.Text = Preferences.Get("num2", "");
            SUM1 = Convert.ToInt32(Preferences.Get("SUM1", "0"));
            SUM2 = Convert.ToInt32(Preferences.Get("SUM2", "0"));
            count = Convert.ToInt32(Preferences.Get("count", "0"));


        }

        numberNames = new Dictionary<string, string>();
        numberNames.Add("0", "۰"); //adding a key/value using the Add() method
        numberNames.Add("1", "۱");
        numberNames.Add("2", "۲");
        numberNames.Add("3", "۳");
        numberNames.Add("4", "٤");
        numberNames.Add("5", "٥");
        numberNames.Add("6", "٦");
        numberNames.Add("7", "٧");
        numberNames.Add("8", "۸");
        numberNames.Add("9", "۹");


        scrollView.HeightRequest = num1.HeightRequest;

    }


    /// <summary>
    /// هذه دالة لعررض الاشعار
    /// </summary>
    /// <param name="label"></param>
    ///         /// <param name="label2"></param>

    /// <param name="str"></param>
    async void DisplayPrompt(Label label, string str)
    {
        var s = await DisplayPromptAsync("Alert", str);
        if (string.IsNullOrEmpty(s))
            label.Text = "فريق" + playercount++;
        else
            label.Text = s;
    }

    /// <summary>
    /// زر سجل 
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    ///

    private async void btnRegister_Clicked(object sender, EventArgs e)
    {


        try
        {

            Entnum1 = ARCH(Entnum1);
            Entnum2 = ARCH(Entnum2);

            scrollView.HeightRequest = num1.HeightRequest;

            scroll = false;

            // اضافة سط في Editors مع القيمه المدخله 
            num1.Text += "\n" + Entnum1.Text;
            num2.Text += "\n" + Entnum2.Text;
            //اذا كان الentry فارغ يبدل القيمه ب صفر 
            if (string.IsNullOrEmpty(Entnum1.Text))
            {
                num1.Text += "0";
            }
            if (string.IsNullOrEmpty(Entnum2.Text))
            {
                num2.Text += "0";
            }
            //تحويل القيمه الي عدد صحيح وجمعها ع اخر قميه 
            SUM1 += int.Parse(num1.Text.Substring(num1.Text.LastIndexOf("\n") + 1));
            SUM2 += int.Parse(num2.Text.Substring(num2.Text.LastIndexOf("\n") + 1));
            // اذا كانت القيمه اقل من 152 يتم اضافة سطر ثم خط ثم قيمه الجمع في كل Editor 
            if (SUM1 < 152 && SUM2 < 152)
            {
                num1.Text += "\n" + "------";
                num2.Text += "\n" + "------";
                num1.Text += "\n" + SUM1;
                num2.Text += "\n" + SUM2;
            }
            else
            {
                // يتم عرض  اكير قيمه مع اكبر فائز
                if (SUM1 > SUM2)
                {
                    action = await DisplayActionSheet(" هاردلك الفوز لهم " + SUM1 + " ", "اغلاق", "لعبة جديدة");

                }
                else if (SUM1 < SUM2)
                {

                    action = await DisplayActionSheet(" مبروك الفوز لنا" + SUM2 + "", "اغلاق", "لعبة جديدة");
                }
                else


                {

                    action = await DisplayActionSheet("تعادل", "اغلاق", "لعبة جديدة");
                }
                // اذا قمت بأختيار لعبة جديدة
                if (action == "لعبة جديدة")
                {
                    // يحذف جميع القيم ولاكن يبقي اسم العبين 
                    num1.Text = num2.Text = "0";
                    Entnum1.Text = Entnum2.Text = null;
                    SUM1 = SUM2 = 0;
                    await scrollView.ScrollToAsync(num1, ScrollToPosition.Start, true);
                    count = 0;
                    scroll = true;
                }
            }


            Entnum1.Text = Entnum2.Text = null;
            // store data 
            // تخزين البيانات في كل مره 
            Preferences.Set("lblname1", lblname1.Text);
            Preferences.Set("lblname2", lblname2.Text);
            Preferences.Set("num1", num1.Text);
            Preferences.Set("num2", num2.Text);
            Preferences.Set("SUM1", SUM1.ToString());
            Preferences.Set("SUM2", SUM2.ToString());



            count++;
            if (count >= 5 && count <= 7 && !scroll)
            {
                await scrollView.ScrollToAsync(num1, ScrollToPosition.Center, true);
            }
            else if (count > 7 && !scroll)
            {
                await scrollView.ScrollToAsync(num1, ScrollToPosition.End, true);

            }
        }
        catch (Exception ex)
        {
            // في حالة وجود خطأ غير متوقع 
            await DisplayAlert("Opps!", ex.Message, "Ok");
            await Navigation.PopAsync();
        }
    }



    void btnBack_Clicked(System.Object sender, System.EventArgs e)
    {

        try
        {


            if (num1.Text != "0" && num2.Text != "0")
            {
                // يتم اذالة ثلاث اسطر وطرح قيمة السطر الثالث من المجموع الكلي ثم ازالة السطر الثالث 
                // editor number one 
                num1.Text = num1.Text.Remove(num1.Text.LastIndexOf("\n"));
                num1.Text = num1.Text.Remove(num1.Text.LastIndexOf("\n"));
                SUM1 -= int.Parse(num1.Text.Substring(num1.Text.LastIndexOf("\n") + 1));
                num1.Text = num1.Text.Remove(num1.Text.LastIndexOf("\n"));
                // editor number two
                num2.Text = num2.Text.Remove(num2.Text.LastIndexOf("\n"));
                num2.Text = num2.Text.Remove(num2.Text.LastIndexOf("\n"));
                SUM2 -= int.Parse(num2.Text.Substring(num2.Text.LastIndexOf("\n") + 1));
                num2.Text = num2.Text.Remove(num2.Text.LastIndexOf("\n"));
            }
        }
        catch (Exception ex)
        {

            DisplayAlert("Opps!", ex.Message, "Ok");
        }
    }


    private void Entnum1_Focused(object sender, FocusEventArgs e)
    {
        tap = 1;
    }

    private void Entnum2_Focused(object sender, FocusEventArgs e)
    {
        tap = 2;
    }

    private void Entnum2_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
    {
        // في حالة اختيار Closr  

        if (action == "اغلاق")
        {
            // حزف جميع القيم المخزنه 
            Preferences.Clear();
            // الرجوع الي الصفحة الاولة  
            Navigation.PopAsync();
        }
    }

    Entry ARCH(Entry entry)
    {
        for (var i = 0; i < 10; i++)
        {
            entry.Text = entry.Text.Replace(numberNames[i.ToString()], i.ToString());
        }

        return entry;
    }


}
}
字典编号;
//相册
int SUM1=0;
//相册
int-SUM2=0;
//显示提示同步
弦作用;
//入口
int-tap=1;
// عدد الاعبين 
int playercount=1;
整数计数=0;
bool scroll=false;
公共Blootrecord(布尔新剧)
{
初始化组件();
如果(新游戏)
{
显示提示(lblname1,“اسمفيهم”);
显示提示(lblname2,“اسمفينا?”);
}
其他的
{
//虚假
// هذه اسطر لجلب اخر قيم تم تخزينها 
lblname1.Text=Preferences.Get(“lblname1”和“”);
lblname2.Text=Preferences.Get(“lblname2”和“”);
num1.Text=Preferences.Get(“num1”,即“”);
num2.Text=Preferences.Get(“num2”,即“”);
SUM1=Convert.ToInt32(Preferences.Get(“SUM1”、“0”));
SUM2=Convert.ToInt32(Preferences.Get(“SUM2”、“0”);
count=Convert.ToInt32(Preferences.Get(“count”,“0”));
}
numberNames=新字典();
Add(“0”,“۰”);//使用Add()方法添加键/值
编号名称。添加(“1”、“۱”);
编号名称。添加(“2”、“۲”);
数字名称。加上(“3”、“۳”);
数字名称。添加(“4”、“٤”);
数字名称。添加(“5”、“٥”);
编号名称。添加(“6”、“٦”);
编号名称。添加(“7”、“٧”);
数字名称。加上(“8”,“۸”);
增加(“9”、“۹”);
scrollView.HeightRequest=num1.HeightRequest;
}
/// 
/// هذه دالة لعررض الاشعار
/// 
/// 
///         /// 
/// 
异步void显示提示(标签标签,字符串str)
{
var s=等待显示PromptAsync(“警报”,str);
if(string.IsNullOrEmpty)
label.Text=“فيق”+playercount++;
其他的
label.Text=s;
}
/// 
/// زر سجل 
/// 
/// 
/// 
///
已单击私有异步无效BTN注册表(对象发送方,事件参数e)
{
尝试
{
Entnum1=拱(Entnum1);
Entnum2=拱(Entnum2);
scrollView.HeightRequest=num1.HeightRequest;
滚动=假;
//编辑
num1.Text+=“\n”+Entnum1.Text;
num2.Text+=“\n”+Entnum2.Text;
//入境
if(string.IsNullOrEmpty(Entnum1.Text))
{
num1.Text+=“0”;
}
if(string.IsNullOrEmpty(Entnum2.Text))
{
num2.Text+=“0”;
}
//تحويل القيمه الي عدد صحيح وجمعها ع اخر قميه 
SUM1+=int.Parse(num1.Text.Substring(num1.Text.LastIndexOf(“\n”)+1));
SUM2+=int.Parse(num2.Text.Substring(num2.Text.LastIndexOf(“\n”)+1));
//在15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半半编辑
if(SUM1<152&&SUM2<152)
{
num1.Text+=“\n”+“----”;
num2.Text+=“\n”+“----”;
num1.Text+=“\n”+SUM1;
num2.Text+=“\n”+SUM2;
}
其他的
{
// يتم عرض  اكير قيمه مع اكبر فائز
if(SUM1>SUM2)
{
动作=等待显示动作单(“等待显示动作单”)、“等待显示动作单”、“等待显示动作单”、“等待显示动作单”);
}
else if(SUM1=5&&计数7&&!滚动)
{
等待scrollView.ScrollToAsync(num1,ScrollToPosition.End,true);
}
}
捕获(例外情况除外)
{
// في حالة وجود خطأ غير متوقع 
等待显示警报(“Opps!”,例如消息“Ok”);
等待导航.PopA
 private string convertArabic(string arabicNum)
    {
        var chArr = arabicNum.ToCharArray();
        var sb = new Java.Lang.StringBuilder();
        foreach (var ch in chArr)
        {
            if (Character.IsDigit(ch))
            {
                sb.Append(Character.GetNumericValue(ch));
            }
            else if (ch == '٫')
            {
                sb.Append(".");
            }

            else
            {
                sb.Append(ch);
            }
        }
        return sb.ToString();
    }