I want to change persian numbers which are saved in variable like this :
string Value="۱۰۳۶۷۵۱";
to
string Value="1036751";
How can I use easy way like culture info to do this please?
my sample code is:
List<string> NERKHCOlist = new List<string>();
NERKHCOlist = ScrappingFunction(NERKHCO, NERKHCOlist);
int NERKHCO_Price = int.Parse(NERKHCOlist[0]);//NERKHCOlist[0]=۱۰۳۶۷۵۱
<= So it can not Parsed it to int
And This is in my function which retun a list with persian digits inside list items
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;
}
The Saeed's Solution is Ok,But For Double Variables you Must Also replace "٫" Character To "." , So You Can Use :
Useful and concise:
You can use the Windows.Globalization.NumberFormatting.DecimalFormatter class to parse the string. This will parse strings in any of the supported numeral systems (as long as it is internally coherent).
use this static class to change normalize number easily:
Sample:
Simply Use the code below :
I suggest two approaches to handle this issue(I Create an extension method for each of them):
1.foreach and replace
2.Dictionary.Aggregate
More info about Dictionary.Aggregate: Microsoft
Usage: