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

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

Re: [shell-script] Comparação de numeros reais


From: Flavio Junior
Subject: Re: [shell-script] Comparação de numeros reais
Date: Fri, 1 Dec 2006 10:08:28 -0200

Flavio, xará..

Isso daria erro em uma situação como:
A=3.10
B=30.1

A viraria 310 e B 301 ...

Acho que a solução do bc é a melhor, por que esta comparando realmente
numeros, enquanto a bash soh pode comparar strings se usarmos "$A" > "$B"
como disseram, ou substituir o . como disse...


Flavio do Carmo Junior

On 12/1/06, Flavio Torres <address@hidden> wrote:
>
>   -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Luciano Depierri escreveu:
> >
> > Pessoal como faço a comparação de um numero real? Ex:
> >
> > Quero saber se o numero 035.450 é maior que 034.500 Estou
> > utilizando o IF mas só tá dando erro.
> >
> > Obs: Os numeros tem "." e nao ","
> >
> >
>
> Estou com preguiça de pensar, certamente existem soluções profissionais :)
>
> linuxuser@debian:~$ A="035.450
> > "
> linuxuser@debian:~$ echo $A
> 035.450
> linuxuser@debian:~$ B="034.500"
> linuxuser@debian:~$ [ $(echo $A | sed 's/\.//') -lt $(echo $B | sed
> 's/\.//') ] && echo menor || echo maior
> maior
> linuxuser@debian:~$ [ $(echo $B | sed 's/\.//') -lt $(echo $A | sed
> 's/\.//') ] && echo menor || echo maior
> menor
>
> Ai vc pode fazer uma função legalzinha, e pode implementar . e ,
>
> Abraços
>
> - --
>
>
> /*---------------------------------------------------*/
> /* * Flavio Torres - Administrador de Sistemas*/
> /* /_\ */int y,z;main(x){x=(x>0?-9:x);z=((z=(x+5)
> /* o. .o */)>0?z:-z);printf(!x&&++y?"\n":z?z>y%3+y/
> /* ((Y)) */3?" ":x<-5?"/":"\\":y?"|":"*");y-9?main(
> /* ()) (() */++x):puts(" _|_|_")&&puts(" \\___/");}
> /* ()^() A party animal isn't just for Christmas.*/
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.2 (MingW32)
>
> iD8DBQFFcCQ+NRQApncg294RAkkEAKCU0XIgzKVNhV1B0YOEDJQAnK9OhQCfQNLx
> XElof3JChjIRa5IhwDdo29g=
> =fJ7P
> -----END PGP SIGNATURE-----
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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