gpt4 book ai didi

c# - 二进制字符串到整数

转载 作者:IT王子 更新时间:2023-10-29 04:21:49 24 4
gpt4 key购买 nike

我有一个二进制字符串,由用户输入,我需要将其转换为整数。

起初,我天真地使用了这条简单的线:

Convert.ToInt32("11011",2);

不幸的是,如果用户直接输入整数,这会引发异常。

Convert.ToInt32("123",2); // throws Exception

如何确定用户输入的字符串是二进制字符串?

  • try..catch
  • Int32.TryParse

谢谢

最佳答案

您可以使用 Regex 来检查它是“^[01]+$”(或者更好的是“^[01]{1,32}$”),并且 然后使用转换

当然,无论如何,异常不太可能成为一个大问题!不雅?也许。但它们有效。

示例(针对垂直空间格式化):

static readonly Regex binary = new Regex("^[01]{1,32}$", RegexOptions.Compiled);
static void Main() {
Test("");
Test("01101");
Test("123");
Test("0110101101010110101010101010001010100011010100101010");
}
static void Test(string s) {
if (binary.IsMatch(s)) {
Console.WriteLine(Convert.ToInt32(s, 2));
} else {
Console.WriteLine("invalid: " + s);
}
}

关于c# - 二进制字符串到整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1271562/

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