How to convert Arabic number to int?

Updated: You can use StringBuilder for memory optimization.

private static string ToEnglishNumbers(string input)
    {
        StringBuilder sbEnglishNumbers = new StringBuilder(string.Empty);

        for (int i = 0; i < input.Length; i++)
        {
            if (char.IsDigit(input[i]))
            {
                sbEnglishNumbers.Append(char.GetNumericValue(input, i));
            }
            else
            {
                sbEnglishNumbers.Append(input[i].ToString());
            }
        }

        return sbEnglishNumbers.ToString();
    }

Original Answer: use this Method

private 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;
}

Leave a Comment