在C#中将八进制字符串转换为整数

给定一个八进制字符串,我们必须将其转换为整数。

从八进制字符串转换为整数

假设您有一个字符串“ 30071”,它是一个整数12345的八进制值,但是此值是字符串格式,并且您想要它的整数(数字)值。

要将八进制字符串转换为整数–我们使用Convert.ToInt32()方法。

语法:

    Convert.ToInt32(input_string, Input_base);

这里,

  • input_string是包含字符串格式的八进制数字的输入。

  • input_base是输入值的基数-对于八进制值,它将是8。

示例

    Input: "30071"

    Function call:

    Convert.ToInt32(input, 8);

    Output:

    12345

    Input: "3007A" //不是'A'不是八进制数字

    Function call:

    Convert.ToInt32(input, 8);

    Output:

    Exception

码:

using System;

using System.Text;

namespace Test

{

    class Program

    {

        static void Main(string[] args)

        {

            //八进制数作为字符串

            string input = "30071";

            int output = 0;

            //转换为整数 

            output = Convert.ToInt32(input, 8);

            //输出值

            Console.WriteLine("Integer number: " + output);

            //按ENTER退出

            Console.ReadLine();

        }

    }

}

输出结果

    Integer number: 12345

异常处理示例

码:

using System;

using System.Text;

namespace ConsoleApplication3

{

    class Program

    {

        static void Main(string[] args)

        {

            string input = "";

            int output = 0;

            try

            {

                //输入字符串

                Console.Write("Enter an octal number: ");

                input = Console.ReadLine();

                //转换为整数

                output = Convert.ToInt32(input, 8);

                Console.WriteLine("Integer number: " + output);

            }

            catch (Exception ex)

            {

                Console.WriteLine(ex.ToString());

            }

            //按ENTER退出

            Console.ReadLine();

        }

    }

}

输出结果

First run with valid input:

Enter an octal number: 30071

Integer number: 12345

Second run with invalid input:

Enter an octal number: 3007A

System.FormatException: Additional non-parsable characters are at the end of the

 string.

   at System.ParseNumbers.StringToInt(String s, Int32 radix, Int32 flags, Int32*

 currPos)

   at System.Convert.ToInt32(String value, Int32 fromBase)

   at ConsoleApplication3.Program.Main(String[] args) in F:\Ankur\SerialPort\Con

soleApplication3\ConsoleApplication3\Program.cs:line 19

以上是 在C#中将八进制字符串转换为整数 的全部内容, 来源链接: utcz.com/z/315919.html

回到顶部