当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 在 PowerShell 中将字符串转换为 Int [3 种方法]

作者:精品下载站 日期:2024-12-14 05:27:24 浏览:15 分类:玩电脑

在 PowerShell 中将字符串转换为 Int [3 种方法]


[玩转系统] 在 PowerShell 中将字符串转换为 Int [3 种方法]

使用动态铸造

在 PowerShell 中使用动态转换将给定字符串转换为 int。

使用动态铸造:

$string = "456"
$number = [int]$string
$number
$number.GetType().Name

输出 :

456
Int32

首先,我们创建并初始化了一个 $string 变量;然后,我们在字符串变量之前指定类型为 [int] 来进行动态转换。在动态转换中,我们告诉编译器以不同的方式思考问题。

为了进行交叉检查,我们将此转换后的值保存在 $number 变量中,并与该变量链接 GetType() 以访问其 Name 属性,该属性表示我们已成功将 $string 转换为数字。

请记住,动态转换不会更改原始变量的数据类型(在本例中为 $string),除非我们替换它。

我们还可以使用 -AS 选项,如下所示:

使用动态铸造:

$string = "456"
$intType = [int]
$number = $string -AS $intType
$number.GetType().Name

输出 :

Int32

使用 [Convert]::ToInt32() 方法

使用[Convert]::ToInt32()方法在PowerShell中将指定字符串转换为int。

使用 ToInt32() 方法:

$string = "456"
$number = [Convert]::ToInt32($string)
$number.GetType().Name

输出 :

Int32

[Convert]::ToInt32($string) 命令将 $string 的值转换为 32 位有符号整数。这里,ToInt32() 方法属于名为 [Convert] 的 .NET 类,该类提供了用于转换数据类型的不同方法。与前面的示例类似,我们还将 GetType() 方法与 $number 链接起来以获取其 Name 属性,看看我们是否已成功转换将给定的字符串转换为整数。

基于以下原因,我们可能会得到 FormatExceptionOverflowException 异常:

  • FormatException - 如果给定的字符串参数没有可选符号后跟数字序列 (0-9),则会发生此情况。
  • OverflowException - 当指定的字符串参数表示大于 Int32.MaxValue 或小于 Int32.MinValue 的数字时发生。

使用 [int]::Parse() 方法

使用[int]::Parse()方法将指定字符串转换为整数。

使用 Parse() 方法:

$string = "456"
$number = [int]::Parse($string)
$number
$number.GetType().Name

输出 :

456
Int32

对于此示例,我们使用 [int] .NET 框架类的名为 Parse() 的静态方法将给定的数字字符串表示形式转换为其 32 位有符号整数等价。 Parse() 方法由于以下原因返回一些异常:

  • ArgumentNullException - 如果给定字符串变量为 null,则发生。
  • FormatException - 如果字符串变量的格式不正确,我们会收到此异常。
  • OverflowException - 如果字符串变量表示的数字大于 Int32.MaxValue 或小于 Int32.MinValue,则发生。

最后,我们访问GetType()方法的Name属性就知道我们已经成功地将$string转换为$number

这就是如何在 PowerShell 中将 String 转换为 Int 的全部内容。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯