precisão decimal

0

Eu tenho uma variável a = 1.349804687500000093e-02. Eu quero ter uma precisão de 5 dígitos. Eu tentei usar o seguinte comando que imprime a variável como eu quero, mas não salva.

a=1.349804687500000093e-02
b= | python -c "print round($a, 7)"
### result
0.0135
#### it does not give anything when print b
echo $b

######
    
por Omar Ali 05.01.2016 / 01:24

1 resposta

4

Não há necessidade de uma linguagem de alto nível como o python aqui: o printf embutido do shell bash pode fazer conversões de formato decimal

$ a=1.349804687500000093e-02
$ printf -v b '%.5f\n' $a
$ echo $b
0.01350

Se você fez deseja usar um comando python, a sintaxe que você precisa é substituição de comando $(command) :

$ b=$(python -c "print round($a,7)")
$ echo $b
0.013498
    
por steeldriver 05.01.2016 / 01:32