Mail Archives: cygwin/2003/04/11/16:01:38
On Fri, 11 Apr 2003, Igor Pechtchanski wrote:
> On Fri, 11 Apr 2003, Randall R Schulz wrote:
> 
> > At 10:21 2003-04-11, Igor Pechtchanski wrote:
> > >On Sat, 12 Apr 2003, Stepan Yakovenko wrote:
> > >
> > > > HI!
> > > >
> > > >   Is it possible to get for loops working
> > > >   in double arithmetic in bash ? I've got to run
> > > >   a program with a real argument many times, changing it
> > > >   every run by some fixed small (<1) number.
> > > >   Thanx in advance, sorry for my broken English.
> > >Umm, scale?  For example:
> > >    for (( i=0; i < 10; i++ )); do echo 0.$i; done
> > Umm, leading zero suppression?
> > % for (( i=0; i < 100; i++ )); do echo 0.$i; done
> > 0.0
> > 0.1
> > [snip]
> > 0.20
> > etc.
> > Randall
> 
> Yes, yes...  It was an /example/.  If you want leading zeros for numbers
> greater than 10, use bash's "printf" builtin:
>    for (( i=0; i < 100; i++ )); do echo 0.$(printf "%02d" $i); done
> Better? :-p
> 	Igor
zsh does integer math, but since you want fractional math, zsh won't do.
You could simply use 'bc'.  Eg:
$ x='2.2'
$ x=`echo $x+0.3 | bc`
$ echo $x
2.5
-- 
Peter A. Castro <doctor AT fruitbat DOT org> or <Peter DOT Castro AT oracle DOT com>
	"Cats are just autistic Dogs" -- Dr. Tony Attwood
--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/
- Raw text -