如何将Urdu字符串转换回十进制?

时间:2016-08-24 14:48:51

标签: c#

如何在C#中将urdu字符串转换回十进制。

double

全局变量

public string urduNumber = "";
public string EnglishNumberToUrduNumber(decimal number)
{   
    string str = Convert.ToString(number);
    var output = ""; // or use StringBuilder
    foreach (char c in str)
    {
        output = str.Replace("0", "٠").Replace("1", "١").Replace("2", "٢").Replace("2", "٢")
            .Replace("3", "٣").Replace("4", "۴").Replace("5", "۵")
            .Replace("6", "۶").Replace("7", "٧").Replace("8", "٨").Replace("9", "٩");
    }
    return urduNumber = output;
}

我尝试使用此功能但输入异常错误。

public decimal amount = 0;**
public string urdu_amount = "";

这给了我这个错误: System.FormatException。

1 个答案:

答案 0 :(得分:0)

Convert.ToDecimal()将无法将乌尔都语符号转换为十进制,创建一种将乌尔都语数字转换回英文数字的方法:

public decimal UrduNumberToEnglishNumber(string urduNumber)
{
    var output = urduNumber.Replace("٠", "0").Replace( "١", "1").Replace("٢", "2").Replace( "٢", "2")
     .Replace("٣", "3").Replace("۴", "4").Replace("۵", "5").Replace("۶", "6").Replace("٧", "7").Replace("٨", "8").Replace("٩", "9");

    var result = Convert.ToDecimal(output);
    return result;
}