如何使用culture将变量中的波斯数字转换为英文数字?我想像这样更改保存在变量中的波斯数字:stringValue="10367551";字符串值=“1036751”;我怎样才能用像文化信息这样简单的东西来做到这一点?我的示例代码是:ListNERKHCOlist=newList();NERKHCOlist=ScrappingFunction(NERKHCO,NERKHCOlist);intNERKHCO_Price=int.Parse(NERKHCOlist[0]);//NERKHCOlist[0]=10367751<=所以它不能解析为int这在我的函数中返回一个列表,列表项中包含波斯数字protectedListScrappingFunction(stringSiteAddress,ListNodesList){stringPrice="null";列表目标=newList();foreach(varpathinNodesList){HtmlNodenode=document.DocumentNode.SelectSingleNode(path.ToString());//识别目标节点Price=node.InnerHtml;//将目标节点的文本放入变量(波斯数字)Targets.添加(价格);}返回目标;}只需使用此代码:privatestringtoPersianNumber(stringinput){string[]persian=newstring[10]{"0","1","2","3","4","5","6","7","8","9"};for(intj=0;j您需要先解析它们,例如使用Int32.Parse()和正确的文化说明符。一旦你将它作为一个普通整数,它只需要对其调用ToString(),再次使用正确的文化说明符。另一种解决方案是逐个处理字符串,并将任何波斯数字字符替换为相应的(西方)阿拉伯数字。如果需要,其他字符可以保留原样。如果字符串确实包含数字,则应使用整数解析方法。如果不只是数字,而是真实的电话号码、序列号等,可能需要使用替换算法。使用culture函数将数字从任何语言转换为任何语言:publicstaticstringConvertDigitChar(thisstringstr,CultureInfosource,CultureInfodestination){for(inti=0;i如何使用函数:varfa=CultureInfo.GetCultureInfoByIetfLanguageTag("fa");varen=CultureInfo.GetCultureInfoByIetfLanguageTag("en");stringstr="011223344556677889";stringr1=str.ConvertDigitChar(en,fa);stringr2=str.ConvertDigitChar(fa,=en);34inti;stringr3=i.convertdigitchar(fa);结果:r1:“????????????????????”r2:“00123456778899”r3r3r3:“???????????”您可以像这个0123456789“.TOCHARARRAY(TOCHARARRAY(TOCHARARRAY”),“toChararray(),“here".ToCharArray()};publicvoidConvert(stringproblem){for(intx=0;x我不知道波斯数字所以你必须将它们添加到char数组。我写了这个扩展方法来将字符串中的阿拉伯语和波斯语数字转换为拉丁语表示形式for(inti=0;i这里我的代码将变量中的波斯数字转换成英文,通过扩展方法(你可以在表达式后使用一个点)privatestaticreadonlystring[]pn={"0","1","2","3","4","5","6","7","8","9"};privatestaticreadonlystring[]en={"0","1","2","3","4","5","6","7","8","9"};publicstaticstringToEnglishNumber(thisstringstrNum){stringchash=strNum;for(inti=0;i当你想使用这段代码时,你必须这样写:txt1.Value.ToEnglishNumber();Saeed的解决方案很好,但对于双变量,你还必须将“.”字符替换为“。”。,所以你可以使用:privatestringToEnglishNumber(stringstrNum){string[]pn={"0","1","2","3","4","5","6","7","8","9","?"};string[]en={"0","1","2","3","4","5","6","7","8","9","."};字符串chash=strNum;for(inti=0;ipublicstaticstringChangeNumberToEnglishNumber(stringvalue){stringresult=string.Empty;foreach(charchinvalue){try{doubleconvertedChar=char.GetNumericValue(ch);if(convertedChar>=0&&convertedChar您可以使用Windows.Globalization.NumberFormatting.DecimalFormatter类来解析字符串。这将解析任何支持的数字系统字符串中的字符(只要它内部一致)。以上就是C#学习教程:如何使用culture将变量中的波斯数字转换为英文数字?如果分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注---publicstaticstringToEnglishNumber(stringinput){varenglishnumbers=newDictionary(){{"0","0"},{"1","1"},{"2","2"},{"3","3"},{"4","4"},{"5"","5"},{"6","6"},{"7","7"},{"8","8"},{"9","9"},{"?","0"},{"?","1"},{"?","2"},{"?","3"},{"?","4"},{"?","5"},{"?","6"},{"?","7"},{"?","8"},{"?","9"},};foreach(varnumbersinenglishnumbers)input=input.Replace(numbers.Key,numbers.Value);返回输入;}stringtest="1036751";字符串英文数字="";for(inti=0;i代表立场,如涉及侵权,请点击右侧联系管理员删除。如需转载,请注明出处:
