【问题标题】:How to add an integer number and a float number in a bash shell script如何在 bash shell 脚本中添加整数和浮点数
【发布时间】:2013-05-03 09:07:12
【问题描述】:

我有两个号码:

value1=686
value2=228.35

我无法添加整数和浮点数。请帮我看看结果。

我在 bash 中运行它。

【问题讨论】:

标签: bash shell


【解决方案1】:
echo 1 + 3.5 | bc

awk "BEGIN {print 1+3.5; exit}"

python -c "print 1+3.5"

perl -e "print 1+3.5"

只需将数字替换为您的变量,例如:echo $n1 + $n2 | bc

【讨论】:

  • thnx :) 我的 linux 机器上不存在 bc 语言,我也无权安装它,这是个大问题。
【解决方案2】:

如果您安装了bc 语言,您可以执行以下操作:

#!bin/bash
numone=1.234
numtwo=0.124
total=`echo $numone + $numtwo | bc`
echo $total

如果您没有bc,那么您可以尝试使用 awk。仅一行:

echo 1.234 2.345 | awk '{print $1 + $2}'

还有很多其他选择。像python、perl、php....

【讨论】:

  • bc 是一种语言,所以默认可能没有安装。试试sudo apt-get install bc
  • 我没有安装 bc 语言的权限,我们可以通过其他方式来安装。
  • 回声 1.234 2.345 | awk '{打印 $1 + $2}'
【解决方案3】:

Bash 没有浮点类型,但可以使用 bc 之类的计算器:

a=686
b=228.35
c=`echo $a + $b | bc`
echo "$c"

【讨论】:

    【解决方案4】:
     #!/bin/Bash
    echo "Enter the two numbers to be added:"
    read n1
    read n2
    answer=$(($n1+$n2))
    echo $answer
    

    【讨论】:

    • 686+228.35:语法错误:算术运算符无效(错误标记为“.35”)
    • 你也可以添加使用... calc 686.0+228.35
    • 这不起作用,因为 bash 内置数学运算符 $(( )) 仅支持整数数学运算。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-14
    • 1970-01-01
    • 2011-09-14
    • 1970-01-01
    • 2016-09-29
    相关资源
    最近更新 更多