2017-07-05 16 views
2

bashでは、整数と浮動小数点数を使って数学演算を行い、整数結果を得ようとしています。コードスニペットの下に動作しません。bash - float型の整数倍数

x=25 
y=0.2 
z=$((x*y)) 
echo $x*$y=$z 

エラーメッセージは次のとおりです。両方の変数が整数の場合

sh: line 3: 0.2: syntax error: invalid arithmetic operator (error token is ".2") 

、それが正常に動作します。

bashスクリプトから「25 * 0.2 = 5」を取得するにはどうすればよいですか?

+3

'bash'フロートをサポートしていません。このような指数計算。 'bc'や' awk'や 'perl'を使う – anubhava

答えて

1

プリントアウトをエコーで引用符で囲みます。また、あなたのz = $((のx * yは))は、z空またはエラーになります:

25*0.2: syntax error: invalid arithmetic operator (error token is ".2")

そう...ここでテストされたコードをこのようなことがあります

x=25 
y=0.2 
z=$(echo $x*$y | bc) 
echo "$x*$y=$z" 

結果はとなります

25*0.2=5.0 

注:我々は、z計算にBCコマンドを使用

関連する問題