式を評価するためにbcとscaleを使用していますが、切り捨てる代わりに切り上げたいとします。これを行う最も簡単な方法は何ですか?スケールまたはprintfで切り捨てる代わりにbcスケールを切り上げます
$ read exp
5+50*3/20 + (19*2)/7
$ echo "scale=3; $exp" | bc -l
17.928
私の希望の答えは17.929
あるしかし、私は答えは何か別の地面よりも私の答えに補遺ことを好みます。私は終わりがないゼロの答えとして17.929
をしたいしかし
$ echo "scale=4; ($exp+0.0005)" | bc -l
17.9290
$ echo "scale=3; ($exp+0.0005)" | bc -l
17.9285
:ありがとう
ここでは、私が試した事のいくつかです。
をdimo414 @私は関数を記述する必要はありません。私はこれを書く前にそれを見た –
あなたがしたくない場合は、関数を書く必要はありません。 'printf'へのパイプへの答えは、関数がするものです。 – dimo414
@MonaJalal:関数を書いて(またはコピーして)bashスタートアップファイルに入れると、あなたを待っています。さもなければ、あなたは正しい*丸められた答えがほしいと思うたびに、* something *とタイプしなければならなくなります。真剣に、bash関数を使う。あなたが好きなら 'bc'と呼んでください。 – rici