現在の.txtファイルに価格を入力しようとしています。
したがって、ユーザーが次のように入力するときは、次のことをしたいと思います。1.1
代わりに、私は1.1
それになりたいです1.10
。これから私が作りたいテーブルによく合うから。また、小数点以下3桁以上であれば丸めたり、下げたいと思います。 (修正してくれたjohn1024に感謝します。)
答え1
価格を読んで小数点以下2桁まで表示するには、次のことを試してください。
IFS= read -rp "Enter the price: " var
printf -v var %.2f "$var"
この%.2f
形式は、printf
小数点以下の2桁の使用を表します。
例:
$ IFS= read -rp "Enter the price: " var; printf -v var %.2f "$var"; echo "var=$var"
Enter the price: 1.2
var=1.20
$ IFS= read -rp "Enter the price: " var; printf -v var %.2f "$var"; echo "var=$var"
Enter the price: 1.123
var=1.12
メモ:Bashのprintf
組み込み関数は小数点で数値を書式設定できますが、算術式は浮動小数点数を処理できません。これを行うには、ksh93、zsh、yashawk
などの高度なシェルまたはbc
。