フィールドを小数点以下2桁に設定(価格)

フィールドを小数点以下2桁に設定(価格)

現在の.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

関連情報