c# - 如何使用文化将变量中的波斯数字转换为英语数字?

标签 c# .net cultureinfo string-parsing persian

我想像这样更改保存在变量中的波斯数字:

string Value="۱۰۳۶۷۵۱"; 

string Value="1036751";

请问我如何使用像文化信息这样简单的方法来做到这一点?

我的示例代码是:

List<string> NERKHCOlist = new List<string>();
NERKHCOlist = ScrappingFunction(NERKHCO, NERKHCOlist);
int NERKHCO_Price = int.Parse(NERKHCOlist[0]);//NERKHCOlist[0]=۱۰۳۶۷۵۱ 

<= 所以它不能将它解析为 int
这是在我的函数中,它重新调整列表项中包含波斯数字的列表

protected List<string> ScrappingFunction(string SiteAddress, List<string> NodesList)
{    
    string Price = "null";
    List<string> Targets = new List<string>();
    foreach (var path in NodesList)
    {
        HtmlNode node = document.DocumentNode.SelectSingleNode(path.ToString());//recognizing Target Node
        Price = node.InnerHtml;//put text of target node in variable(PERSIAN DIGITS)
        Targets.Add(Price);
    }
    return Targets;
}

最佳答案

只需使用下面的代码:

private string changePersianNumbersToEnglish(string input)
{
  string[] persian = new string[10] { "۰", "۱", "۲", "۳", "۴", "۵", "۶", "۷", "۸", "۹" };

   for (int j=0; j<persian.Length; j++)
      input = input.Replace(persian[j], j.ToString());

   return input;
 }

关于c# - 如何使用文化将变量中的波斯数字转换为英语数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18340808/

相关文章:

c# - 为什么我的应用程序设置没有得到持久化?

c# - 如何强制派生类重写仅返回其类名的方法?

c# - 如何通过键从 .NET IGrouping 返回值?

c# - 如何使用 Parallel.For/ForEach 获得最佳性能? (包括表演时间)

silverlight - Silverlight 中的默认字符串格式

datetime - 获取 Web 用户位置以进行 DateTime CultureInfo 转换

c# - 是否有使用 is 和 as 的理由?

c# - 静态类和静态方法

c# - 实例化代理类 (RealProxy)

c# - 获取本地化文化中文化名称的显示名称