如何在C#中将unicode字符串转换为int?
我有一个来自unicode数字源的字符串,如下所示: n=117 现在我想将这个字符串转换为int。但是当我尝试使用convert.ToInt时,我得到了这个异常。 我如何解决这个问题 我们将使用该方法,将每个字符转换为一个数字。文件很清楚:如何在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)) {
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);
}