gpt4 book ai didi

.net - 在 .NET 中将非 ascii(unicode)数字字符串解析为整数

转载 作者:行者123 更新时间:2023-12-04 02:16:00 24 4
gpt4 key购买 nike

我有一个包含非 ascii 格式数字的字符串,例如unicode 孟加拉数字一 (U+09E7) : "১"
如何在 .NET 中将其解析为整数?

注意:我试过使用 int.Parse()使用“bn-BD”作为 IFormatProvider 指定孟加拉文化格式。不起作用。

最佳答案

您可以创建一个与旧字符串相同的新字符串,只是将本地数字替换为拉丁十进制数字。这可以通过循环遍历字符并检查 char.IsDigit(char) 的值来可靠地完成。 .如果此函数返回true,则将其转换为char.GetNumericValue(char).ToString() .

像这样:

static class DigitHelper
{
public static string ConvertNativeDigits(this string text)
{
if (text == null)
return null;
if (text.Length == 0)
return string.Empty;
StringBuilder sb = new StringBuilder();
foreach (char character in text)
{
if (char.IsDigit(character))
sb.Append(char.GetNumericValue(character));
else
sb.Append(character);
}
return sb.ToString();
}
}


int value = int.Parse(bengaliNumber.ConvertNativeDigits());

关于.net - 在 .NET 中将非 ascii(unicode)数字字符串解析为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6141255/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com