在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