shell脚本zins计算

问题描述 投票:0回答:1

我需要一个计算基本税的 bash 脚本。 它应该可以通过

调用
tax.sh 

或带有可选参数:

tax.sh (capital or help) (interest rate) (duration)

我所拥有的是:

re='^-?[0-9]+([.][0-9]+)?$'
echo "capital: "
read capital
if ![[ $capital =~ $re ]] ; then
  echo "invalid capital!" >&2; exit 1
fi
echo "rate: "
    read rate
    if ![[ $rate=~ $re ]] ; then
      echo "invalid rate!" >&2; exit 1
    fi
echo "duration: "
    read duration
    if ![[ $duration=~ $re ]] ; then
      echo "invalid duration!" >&2; exit 1
    fi
echo "the capital after "$duration" years is: "
echo "scale=5;($capital*($rate/100)*$duration)+$capital" | bc

计算总是比应有的小一点。

bash shell parameters
1个回答
0
投票

如何实现参数

一种方法是将位置参数分配给变量,如果

参数
不为空,则跳过每个变量的read; e. g.

capital=$1; ${capital:+:} read -p "capital: " capital
…
rate=$2; ${rate:+:} read -p "rate: " rate
…
duration=$3; ${duration:+:} read -p "duration: " duration
…

正确计算

pjh 正确地写道:“答案太小是因为公式假设单利,但需要复利。必须使用不同的公式。”这是:

echo "scale=5;$capital*(1+$rate/100)^$duration" | bc
© www.soinside.com 2019 - 2024. All rights reserved.