タイトルが悪いのでごめんなさい。タイトルを1行で説明するのはとても混乱しています。これが私の問題です:
echo "scale=0;9 * 150 + 8.092 * 560 + 3.181" | bc
取得する代わりに
5885
しかし、私は出力を得ました
5884.701
誰でも?
私の知る限り、部門だけがによって与えられた情報を使用していますscale
。
echo "scale=0; (9 * 150 + 8.092 * 560 + 3.181)/1" | bc
整数部分(商!)のみが取得されたため、5884がエコーされます。目的の結果(ラウンド)を取得するには、次を使用します。
echo "scale=0; ((9 * 150 + 8.092 * 560 + 3.181)+0.5)/1" | bc
このアプローチは負の数では機能しないことに注意してください!この投稿を参照してください:https://unix.stackexchange.com/a/89843
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加