77452


10÷100＝0.1 です。これをシェルの `printf` コマンドで出力しようと思って以下の通り実行すると結果は `0.000000`
と表示されてしまいます。

[code]

    printf "%f" $((10/100))
        
    0.000000
    
[/code]

どうすれば `0.100000` と表示できるでしょうか？（あくまで、10, 100 は変数に入れて計算するので、`%f`
に渡す値を自分で計算して0.1と入れるのはなしでお願いします。）

予測ですが、多分 `10/100` が整数部分の `0` しか返してないと思いました。  
C言語とかなら型宣言できますけど、シェルってどうすればよいのでしょうか？


CC BY-SA 4.0
2021-06-09T11:19:51.603
77432
2021-06-10T03:36:13.450
2021-06-09T12:12:22.963
27722
question
linux bash shellscript
結果が小数となる演算結果をシェルの printf コマンドで表示したい


別解として、bash に拘らなければ例えば Perl のワンライナーで以下のように記述することが出来ます。

[code]

    $ perl -e 'printf "%f\n", (10/100)'
    0.100000
    
[/code]


CC BY-SA 4.0
2021-06-09T11:49:49.003
77434
2021-06-09T11:49:49.003
3060
77432
answer


[シェルbash
で小数の計算するコマンド](https://takuya-1st.hatenablog.jp/entry/2016/03/11/012908)によると算術式展開や`expr`、`let`などの代わりに`bc`コマンドを使うと良いようです。  
以下のような感じになります。

[code]

    $ printf "%f" $(echo "scale=1; 10 / 100" | bc)
    0.100000
    
[/code]


CC BY-SA 4.0
2021-06-10T03:36:13.450
77452
2021-06-10T03:36:13.450
25936
77432
answer