基本的にBashでは、ユーザーから数秒の入力を受け取り、時間を見つけることを試みています。したがって、基本的にユーザーが35を入力すると、出力は0.00972222になります。
しかし、bashは私にゼロを与えます。
ここに私が持っているコマンドがあります:
echo "Enter the seconds you wish to convert to hours: " && read sec && echo " $((sec/3600)) is the amount of hours "
35と入力すると0.00972222と出力されるようにする方法はありますか?.
ありがとう!
ここでこれを試してください
echo $(echo "35/3600" | bc -l )
コマンドは次のようになります
echo "Enter the seconds you wish to convert to hours: " && read sec && echo " $(echo "$sec/3600" | bc -l ) is the amount of hours "
印刷される有効桁数を制御するには、scale=N
を使用します。例えば:
$ echo "scale=3; 35/3600" | bc -l
.009
先頭の0
も印刷したい場合(奇妙なことに bc
は簡単には実行できません )、番号をprintf
(これも切り上げ/切り捨てできます):
$ printf '%.3f\n' $(echo "35/3600" | bc -l)
0.010
$ printf '%.4f\n' $(echo "35/3600" | bc -l)
0.0097