Eu tenho um número flutuante armazenado em uma variável $temp, como 3.046789. Como podemos arredondar esse número com precisão de 2 dígitos e o resultado que preciso é 3,05. O script que tenho é um script csh.
Responder1
Você pode usar o comandoprintf
para formatar números de várias maneiras, assim como acontece com a função C printf()
:
Para torná-lo independente do shell usado, execute/usr/bin/printf
$ LC_ALL=C /usr/bin/printf '%.2f\n' 3.046789
3.05
A sintaxe do formato é descrita na página man da função da biblioteca:man 3 printf
.
Não tenho certeza sobre o tratamento de variáveis no csh
.
Além disso, printf
pode estar disponível como um comando interno do shell que faz o mesmo, como no bash.