如何在C#中将unicode字符串转换为int?

如何在C#中将unicode字符串转换为int?,c#,.net,unicode,C#,.net,Unicode,我有一个来自unicode数字源的字符串,如下所示: n=117 现在我想将这个字符串转换为int。但是当我尝试使用convert.ToInt时,我得到了这个异常。 我如何解决这个问题 我们将使用该方法,将每个字符转换为一个数字。文件很清楚: Int32 value = 0; if (Int32.TryParse(String.Join(String.Empty, "۱۱۷".Select(Char.GetNumericValue)), out value)) {

我有一个来自unicode数字源的字符串,如下所示:

n=117

现在我想将这个字符串转换为int。但是当我尝试使用convert.ToInt时,我得到了这个异常。 我如何解决这个问题

我们将使用该方法,将每个字符转换为一个数字。文件很清楚:

    Int32 value = 0;
    if (Int32.TryParse(String.Join(String.Empty, "۱۱۷".Select(Char.GetNumericValue)), out value))
    {
        Console.WriteLine(value);
        //....
    }
将指定的数字Unicode字符转换为双精度浮点数

如果要支持
double
,请将
int
替换为
double
,并在
Contains()之前的字符串中添加

如果您更喜欢使用
TryParse
而不是基本的
Parse
,请点击这里:

public static bool TryParseNumeric(string input, out int numeric)
{
    return int.TryParse(string.Concat(input.Select(c =>
        "+-".Contains(c)
            ? c.ToString()
            : char.GetNumericValue(c).ToString())), out numeric);
}

也许你应该看看这个,这个解决方案是最短也是最好的method@Navid_pdp11此处不支持以
+
-
public static bool TryParseNumeric(string input, out int numeric)
{
    return int.TryParse(string.Concat(input.Select(c =>
        "+-".Contains(c)
            ? c.ToString()
            : char.GetNumericValue(c).ToString())), out numeric);
}