BCで小数点の前にゼロを表示するにはどうすればよいですか?


9
echo "scale=3;1/8" | bc

番組.125画面上に。0.125出力結果が1未満かどうかを確認するにはどうすればよいですか?

回答:


9

bc小数点の前にゼロを出力することはできません。printfを使用できます。

$ printf '%.3f\n' "$(echo "scale=3;1/8" | bc)"
0.125

より人間が読めるコマンド。;-)
Kevin Dong

1

あなたはawkにパイプすることができます

echo "scale=3;1/8" | bc | awk '{printf "%.3f\n", $0}'

または、すべてにawkを使用できます

awk '{printf "%.3f\n", 1/8}' <<< ""

出力

0.125

なぜすべき<<< ""
Kevin Dong

@KevinDongNaiJia awkが機能するには入力ファイルが必要here stringです。これにより、が作成されて空になります。したがって、基本的には最後に空のファイルがあるように見せかけます。それ以外の場合、awkはstdinから読み取ります。詳細はこちら

@cuonglmを使用できるので、私の回答は編集しないでください。

@cuonglm Petty反対投票、いいね!

1
@JID:ここでサポートされているすべてのシェル文字列ではありません。他のビューアに対して指定する必要があります。BEGINブロックを使用すると、その問題を回避でき、ポータブルです。
cuonglm 2015
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.