Incrementar uma variável por um número real (não inteiro) [fechado]

2

Eu queria incrementar uma variável, k dentro de um loop. Cada incremento é de 0,025. Eu tentei usar:

let "k += 0.025"

e

let "$k += 0.025"

e

k += 0.025

e muitas outras variações. Alguém sabe como fazer isso?

Obrigado! Amit

    
por Amit 03.03.2011 / 00:24

1 resposta

3

Bash não suporta ponto flutuante. Ksh93 e zsh fazem.

No Bash, você pode usar bc ou awk :

k=$(echo "$k + 0.025" | bc -l)

ou

k=$(awk -v "k=$k" 'BEGIN { print k + 0.025 }')

Em alguns casos, pode ser mais conveniente escrever scripts ou seções inteiros no AWK, em vez de tentar passar valores dentro e fora e fazer comparações desajeitadas.

    
por 03.03.2011 / 00:29

Tags