bc - コマンド:適切な結果が得られませんでした。

bc - コマンド:適切な結果が得られませんでした。

Linuxでbc命令を使って簡単な計算をしようとしています。一度小数点以下のすべての桁の値が必要です。他の時には整数部分だけが欲しい。

全体の小数点以下の桁数を取得したいと思います。

$ echo "scale=10; ((900/1303) * 928)/600" | bc
1.0683039140

ここでは、小数部を除いて1(整数)部分のみをインポートしようとしています。

$ echo "scale=0; ((900/1303) * 928)/600" | bc
0

0を表示する方法。 1を表示する必要があります

誰でも助けることができますか?この場合、整数部分を抽出するためにawkまたはsedを使用したくありません。

答え1

努力する:

echo "scale=20; a=((900/1303) * 928)/600; scale=0; a/1" | bc

ただし、これは小数点以下の桁数を切り取るため、結果1.9999も切り捨てられます1

しかし、それはあなたが求めているようです。


0を表示する方法。 ...

900/1303(小数点は0)が最終結果に0反映されるためです。0おそらく再注文する場合:

$ echo "( 900 * 928 / 1303 ) / 600" | bc
1

... 1と表示する必要があります。

いいえ、中間の除算が小数点以下の桁数ゼロで構成されている場合はそうではありません。

関連情報