0

私は Mac OSX で作業しており、bash をシェルとして使用しています。現在、数値として評価したい文字列があります。文字列をエコーすると、1.e8*1.07**100. この文字列を数値として評価するために渡す方法はありますか?

最初に文字列である理由の背景は、式が段階的に作成されたためです。最初1.e8*1.07**%%dはコード内にあり、次にユーザーは整数を入力して、1.07 を累乗します。したがって、上記の例では、ユーザーは 100 を入力したため、スクリプトは でスタックし1.e8*1.07**100ます。これは私が望んでいた正しい式ですが、格納されている変数をエコーするときに評価されることを望んでいました.

実際の重要なコード:

BASE=$(printf '1.e8*1.07**%%d')
#Get user input assigned to pow
NUM=$(printf ${BASE} ${pow})
echo $NUM       #1.e8*1.07**100

ご協力いただきありがとうございます。

[編集: 答えをエコーするだけでなく、変数として保存したいと思います。]

4

3 に答える 3

2

perl がその正確な式を評価できることが起こります

$ x="1.e8*1.07**100"
$ y=$(perl -E "say $x")
$ echo $y
86771632556.6417
于 2013-06-06T23:33:52.200 に答える