0

この IF ステートメントを単純化するより良い方法はありますか。ここで bc を使用する必要はないと言われました。これは、大規模なスクリプトの計算と保守の両方の複雑さを増すためです。ここで bc の使用を避ける方法はありますか:

if [ `bc -l <<< "$AUTO_INCREMENT_RATIO>=0.9"` -eq 1 ]
  then
     <DO SOMETHING HERE>
  fi

ありがとうございました!

私は何かをしようとしていた

if [ $AUTO_INCREMENT_RATIO>=0.9 -eq 1 ]; then <DO SOMETHING HERE>; fi

しかし、「整数式が必要です」というエラーが表示されます

4

1 に答える 1

1

浮動小数点を処理する最善の方法は、そもそも浮動小数点を使用しないことです!

変数の名前を読むと、それは比率です。万が一、この比率が正の整数の比率、たとえばである場合、 と比較するa/b代わりに、 と比較a/bします。0.910*a9*b

これはあなたのケースには直接当てはまらないかもしれませんが、覚えておくとよいでしょう。浮動小数点を含むように見える多くの問題は、実際には有理数のみを含むため、整数のみを使用して (通常はより効率的に) 解決できます。

于 2013-11-21T21:44:17.210 に答える