Enviado em 18/10/2017 - 11:50h
Como trabalhar números flutuantes dentro do bash? Estou fazendo um curso de certificação no SENAC e na hora de criar scripts sempre esbarro nisto. Ele não trabalha com números quebrados sempre da erro. Se o numero for inteiro dá certinho. Vou postar dois exemplos bem básicos para que eu seja entendido. E se alguém puder me ajudar pode corrigir meu Script para me mostrar onde estou errando ou qual comando deveria utilizar.
Exemplo um calculo de media escolar
#!/bin/bash
echo "Entre com a nota do Bim 1"
read bim1
echo "Entre com a nota do Bim 2"
read bim2
echo "Entre com a nota do Bim 3"
read bim3
echo "Entre com a nota do Bim 4"
read bim4
echo
result=$((($bim1+$bim2+$bim3+$bim4)/4))
echo $result
Ele dá certo, porem se eu lançar uma nota for 4,5 por exemplo, teremos um erro na resposta.
Segundo exemplo
#!/bin/bash
echo "Quantas horas você trabalha por mês?"
read hrmes
echo "Quanto você ganha por hora?"
read salhora
result=$(($hrmes*$salhora))
echo "Seu salário é de:" $result
Também da certo, mas se a hora for 10,20 por hora vai dar erro.
Se tiver de calcular IR, INSS, então. Ai ferrou de vez.
Agradeço desde de já, pois uma coisa básica assim consigo fazer no phyton e não consigo fazer no bash e acabo me sentido meio [*****].
Exemplo um calculo de media escolar
#!/bin/bash
echo "Entre com a nota do Bim 1"
read bim1
echo "Entre com a nota do Bim 2"
read bim2
echo "Entre com a nota do Bim 3"
read bim3
echo "Entre com a nota do Bim 4"
read bim4
echo
result=$((($bim1+$bim2+$bim3+$bim4)/4))
echo $result
Ele dá certo, porem se eu lançar uma nota for 4,5 por exemplo, teremos um erro na resposta.
Segundo exemplo
#!/bin/bash
echo "Quantas horas você trabalha por mês?"
read hrmes
echo "Quanto você ganha por hora?"
read salhora
result=$(($hrmes*$salhora))
echo "Seu salário é de:" $result
Também da certo, mas se a hora for 10,20 por hora vai dar erro.
Se tiver de calcular IR, INSS, então. Ai ferrou de vez.
Agradeço desde de já, pois uma coisa básica assim consigo fazer no phyton e não consigo fazer no bash e acabo me sentido meio [*****].