shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Re: Arredondamento


From: Alexander Franca
Subject: Re: [shell-script] Re: Arredondamento
Date: Wed, 17 Aug 2005 20:14:07 -0300

Eu tentaria usando o 'cut' para pegar os valores decimais e depois tratar esses 
valores para ver se é para arredondar.

A solução parece bizonha e acredito que outros da lista arrumem soluções muito 
mais inteligentes.

A bizonhisse seria:

#!/bin/bash

read -p "Digite um numero:" numero

resultado=$numero

# procura por um ponto no resultado
tem_decimal=`echo $resultado | grep \\\.`

# se o resultado não for nulo 
if [ ! -z $tem_decimal ]
then

# pega os caracteres depois do ponto
decimais=`echo $resultado | cut -f 2 -d '.'`

# pega os caracteres antes do ponto
inteiro=`echo $resultado | cut -f 1 -d '.'`

# se menor ou igual a 4, diminui, caso contrario, aumenta
    if [ ${decimais:0:1} -le 4 ]
    then
        let resultado=$inteiro-1
    else
        let resultado=$inteiro+1
    fi
fi

echo "RESULTADO É: $resultado"


PS: alguém pode me dizer por que eu tive que usar 3 barras-invertidas para o 
grep conseguir "enxergar" o caracter ponto?

[]'s
Alexander Franca


> De: "fcuyemura" <address@hidden>
> Data: Wed, 17 Aug 2005 21:09:30 -0000
> Para: address@hidden
> Assunto: [shell-script] Re: Arredondamento
> 
> Senhores,
> 
> Vou explicar melhor exemplificando:
> 
> a) Se o resultado da conta for 23.45 quero que arredonde para 23
> 
> b) Se o resultado da conta for 23.95 quero que arredonde para 24
> 
> Grato,
> Flávio


reply via email to

[Prev in Thread] Current Thread [Next in Thread]