如何在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。
答案 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;
}