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

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

Re: [shell-script] Arredondamento de float


From: moysespr
Subject: Re: [shell-script] Arredondamento de float
Date: Mon, 19 Jan 2004 17:05:15 -0800 (PST)

Bash only:

Talvez o comportamento desta função esteja próximo do que você quer.
Rabisquei-a para apresentar o tradicional arredondamento usado em física. Pode
colar as 3 linhas no term/xterm e dar Enter:

---------
int(){ d=${1##*.};d=${1##*.};[ "$1" == "$d" ]&&d=0;d=${d:-0};n=${1%%.*};\
 [ ${d:0:1} -ge 5 ]&&n=$[n+1];echo -n ${n:-0};\
}
---------

Eis alguns resultados:
echo $(int .33)
0
echo $(int 0.49725123312)
0
echo $(int 1.13312)
1
echo $(int 1.913312)
2
echo $(int 6)
6
echo $(int 7.)
7
echo $(int 765791721.499999999999)
765791721
echo $(int 765791721.50000000000)
765791722

Se não atender plenamente espero que, pelo menos sirva como esqueleto, para
catar alguns ossos. :)


--- address@hidden wrote:
> Olá.
> 
> Eu preciso arredondar um número em ponto flutuante
> para o inteiro mais próximo em script bash. Alguém
> sabe como?
> 
> Também preciso encontrar o menor inteiro maior que
> um dado número em ponto flutuante (função 'ceil').
> 
> Romildo
> 


__________________________________
Do you Yahoo!?
Yahoo! Hotjobs: Enter the "Signing Bonus" Sweepstakes
http://hotjobs.sweepstakes.yahoo.com/signingbonus


reply via email to

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