迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 操作系统 >

在 Bash 中将字符串转换为整数

作者:迹忆客 最近更新:2023/05/16 浏览次数:

本篇文章将讨论 Bash 脚本中的字符串到整数的转换。 首先,我们将讨论字符串的数学运算问题,然后我们将了解如何将字符串转换为整数。


字符串的数学运算

让我们从这个简单的代码开始我们的讨论:

x_value=1000
y_value=20
echo $x_value+$y_value

此代码的输出可能出乎意料。 查看输出:

1000+20

命令 echo 将带有加号的变量 x_value 和变量 y_value 连接起来。 可能您对获得此输出不感兴趣; 相反,您期望 1020 作为输出。

讨论完这个问题后,让我们探索避免它并获得所需输出的方法。


使用 expr 命令将字符串转换为整数

此命令用于评估表达式并获取结果。 例如:

$ expr 12 - 8

此命令的输出将为 4。我们可以使用此命令来获取所需的结果:

x_value=1000
y_value=20
expr $x_value + $y_value

这个脚本的输出是1020; 但是,请注意变量和运算符之间需要空格。 否则,此命令也会执行串联,结果相同。


使用双括号 ((...)) 构造将字符串转换为整数

双括号构造函数 (( ... )) 允许算术扩展和求值; 例如,x_value=$(( 6 - 2 )) 会将 x_value 设置为 4。我们可以使用此构造来获得所需的结果。

让我们看一个示例脚本:

x_value=1000
y_value=20
echo $(( x_value * y_value ))

此脚本的输出将为 20000。


使用基本计算器 (bc) 命令将字符串转换为整数

在 Bash 中,基本计算器 (bc) 用于直接从 Bash 命令界面执行基本算术计算。

例如,我们可以这样写:

$ echo "12-4" | bc

输出为 8。我们可以使用这个基本计算器来获得我们需要的结果。

使用 bc 解决我们最初问题的代码如下所示:

x_value=1000
y_value=20
echo $x_value-$y_value | bc

输出为 980。在此表达式中,不需要空格,就像在 expr 命令中强制使用的那样。


使用 awk 命令将字符串转换为整数

awk 是一个预编译命令,允许用户打印包含变量、数字函数、字符串函数和逻辑运算符的格式化表达式。 您可以通过多种方式使用此命令。

例如,如果你想打印一些带有一些格式化数字计算的消息,你可以使用带有 awk 命令的 echo 命令,例如:

$ echo salary= 40000 10 | awk '{print $1 $2+$2*$3/100}'

在此命令中,我们要打印薪水,其中薪水包括 10% 的奖金。 在这里,salary= 是我们的第一个参数。 我们通过写入 $1 来使用它。

同样,40000是写$2用到的第二个参数; 同样,$3 是第三个参数(即 10)的占位符。

此命令的输出是:

salary=44000

我们可以使用 awk 命令来解决我们原来的问题:

x_value=1000
y_value=20
echo $x_value $y_value | awk '{print $1 + $2}'

输出将为 1020,其中 x 和 y 是 awk 命令接收的两个参数。 相应地执行计算。


使用 perl...print 或 perl...say 将字符串转换为整数

我们在 perl 命令中有 print 或 say 选项。 print 和 say 的区别在于 print 不会换行,下一个输出会出现在同一行,而 say 命令会换行。

例如:

x_value = 5
perl -E "print $x_value"
echo "*"
perl -E "say $x_value"
echo "*"

输出将是:

5*5
*

请注意 ,第二个星号打印在下一行,因为换行符是 say 而不是 print。

因此,我们可以使用带有 print 或 say 的 perl 来获得我们需要的输出:

x_value=1000
y_value=20
perl -E "print $x_value+$y_value"

输出将为 1020。


使用 Python 将字符串转换为整数

Python 有一个 print 语句,可以计算和打印一个表达式。

例如:

python -c "print 5 * 4"

输出将为 20。我们可以使用它来获得所需的结果。

代码如下所示:

x_value=1000
y_value=20
python -c "print $x_value * $y_value"

输出为 20000。

我们有多种方法可以将字符串转换为整型变量来执行数学运算。 在这里,我们提供了六种不同的方式,您可以根据自己的选择使用任何一种方式。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 Bash 脚本中执行变量中的命令

发布时间:2023/05/18 浏览次数:106 分类:操作系统

本篇文章是关于将 Bash 命令存储在一个变量中,然后直接从这个变量中执行它。 首先,我们将讨论执行变量中包含的命令的多种方法,然后是几个脚本示例。

Bash 变量相乘

发布时间:2023/05/18 浏览次数:50 分类:操作系统

本篇文章介绍如何在 Bash 中将两个变量相乘。在 Bash 中乘以变量。将两个变量相乘在 Bash 中是一个简单的操作。

Bash md5sum 命令

发布时间:2023/05/18 浏览次数:197 分类:操作系统

本篇文章介绍如何在 Bash 中使用 md5sum 命令。Bash md5sum 命令。md5sum 命令打印给定文件的 32 字符和 128 位校验和。

在 Bash 中排序数组

发布时间:2023/05/18 浏览次数:150 分类:操作系统

对数组进行排序对于任何编程语言来说都是一项非常常见的任务。 在 Bash 脚本中,我们还可以通过两种不同的方式完成此任务。

Bash 中的多维数组

发布时间:2023/05/18 浏览次数:70 分类:操作系统

多维数组对于任何程序都是非常重要的元素。 它主要用于创建数据的表视图和许多其他用途。本文演示如何创建二维数组。 此外,我们将通过必要的示例和解释来讨论该主题。

在 Bash 中打印数组元素

发布时间:2023/05/18 浏览次数:192 分类:操作系统

本文将展示我们如何在 Bash 脚本中打印数组元素。 为此,我们将讨论 5 种不同的方法。在 Bash 中使用 echo 语句打印数组元素

将数组传递给 Bash 中的函数

发布时间:2023/05/18 浏览次数:118 分类:操作系统

这篇文章是关于在 Bash 脚本中使用函数并将数组传递给它们的。 在进入实际主题之前,我们将简要介绍 Bash 脚本。

Bash 关联数组

发布时间:2023/05/18 浏览次数:71 分类:操作系统

本篇文章介绍如何在 Bash 中创建关联数组。Bash 关联数组 数组在 Bash 中可以很好地用于存储数据,

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便