技术频道导航
HTML/CSS
.NET技术
IIS技术
PHP技术
Js/JQuery
Photoshop
Fireworks
服务器技术
操作系统
网站运营

赞助商

分类目录

赞助商

最新文章

搜索

【两示例演示】C#如何把八进制字符串转换为整数

作者:admin    时间:2022-5-27 18:18:3    浏览:

在前文中我们介绍了C#将二进制字符串转换为整数的方法,在本文中,我们将通过两个示例来介绍C#是如何把八进制字符串转换为整数的。

示例

要将八进制字符串转换为整数,我们必须使用Convert.ToInt32()函数来转换值。

示例1:

using System;
using System.Text;
  
class Prog {
  
    static void Main(string[] args)
    {
        string[] str = { "121", "202", "003" };
        int num1 = 0;
        try {
  
            foreach(string item in str)
            {
                num1 = Convert.ToInt32(item, 8);
                Console.WriteLine(num1);
            }
        }
        catch (Exception ex) {
            Console.WriteLine(ex.ToString());
        }
    }
}

输出

81
130
3

示例2:

using System;
using System.Text;
  
namespace webkaka {
  
class Prog {
  
    static void Main(string[] args)
    {
        string[] str = { "111", "543", "333", "607", "700" };
        int num2 = 0;
        try {
  
            foreach(string item in str)
            {
                num2 = Convert.ToInt32(item, 8);
                Console.WriteLine(num2);
            }
        }
        catch (Exception ex) {
            Console.WriteLine(ex.ToString());
        }
    }
}
}

输出

73
355
219
391
448

Convert.ToInt32(String) 知识扩展

ToInt32(String)

将数字的指定字符串表示形式转换为等效的 32 位有符号整数。

public static int ToInt32 (string? value);

参数

value String:包含要转换的数字的字符串。

返回

 Int32:一个 32 位有符号整数,等效于 中的数字,如果是value,则为 0(零)。valuenull

例外

  • FormatException :value 不包含可选符号后跟数字序列(0 到 9)。
  • OverflowException:value 表示小于MinValue或大于MaxValue的数字。

例子

以下示例尝试将数字字符串数组中的每个元素转换为整数。

string[] values = { "One", "1.34e28", "-26.87", "-18", "-6.00",
                    " 0", "137", "1601.9", Int32.MaxValue.ToString() };
int result;

foreach (string value in values)
{
   try {
      result = Convert.ToInt32(value);
      Console.WriteLine("转换 {0} 数字 '{1}' 到 {2} 数值 {3}.",
                        value.GetType().Name, value, result.GetType().Name, result);
   }
   catch (OverflowException) {
      Console.WriteLine("{0} 超出Int32类型的范围.", value);
   }
   catch (FormatException) {
      Console.WriteLine("{0} 数值 '{1}' 的格式不可识别.",
                        value.GetType().Name, value);
   }
}
// 输出:
// String 数值 'One' 的格式不可识别.
// String 数值 '1.34e28' 的格式不可识别.
// String 数值 '-26.87' 的格式不可识别.
// 转换 String 数字 '-18' 到 Int32 数值 -18.
// String 数值 '-6.00' 的格式不可识别.

// 转换 String 数字 ' 0' 到 Int32 数值 0.
// 转换 String 数字 '137' 到 Int32 数值 137.
// String 数值 '1601.9' 的格式不可识别.
// 转换 String 数字 '2147483647' 到 Int32 数值 2147483647.

评论

使用ToInt32(String)方法等效于传递valueInt32.Parse(String)方法。value通过使用当前文化的格式约定来解释。

如果你不想在转换失败时处理异常,则可以调用Int32.TryParse方法。它返回一个布尔值,指示转换是成功还是失败。参考以下文章:

总结

本文通过两个示例,介绍了C#是如何把八进制字符串转换为整数的。通过本文的学习,我们了解了Convert.ToInt32()函数的更多实用功能作用。

相关文章

x
  • 站长推荐
/* 左侧显示文章内容目录 */