我是shell脚本的初学者,所以为了习惯它们,我开始使用简单的脚本。试图计算一个"主要"的利率。金额,我写了下面的shell脚本。
但我得到的输出为:(150000*0.8)/100
。我以为我将得到数学上解决的输出,即1200. (pr=($principal*$rof)/100)
任何人都可以帮助我吗?我犯了什么错误?
principal=150000
rof=0.8
pr=($principal*$rof)/100
echo $pr
答案 0 :(得分:1)
Bash不支持浮点数算术e.g. see this post
$> principle=150000;rof=8;pr=`expr $principle \* $rof / 1000`;echo $pr
1200
答案 1 :(得分:1)
这段代码存在一些问题。假设您正在使用bash,正确的方法如下所示,
使用语法
执行算术运算
x=$(( a + b ))
因此,对于你的情况,它变成了
pr=$((( principle * rof ) / 100))
无法在bash中执行浮点运算。您可以将unix实用程序bc
用于此类目的。在你的情况下,
pr =`bc<<< “($ principle * $ rof)/ 100”`
所以,你的完整代码现在变成了,
#!/bin/bash
principle=150000
rof=0.8
pr=`bc <<< "( $principle * $rof ) / 100"`
echo $pr