|
Brad, here's a test program containing a subprocedure that does what I think you
want. Use debug to view the value of string after each call to makestring.
I hope it helps.
Mel Rothman
D makestring pr 15 varying
D number 9 4 value
Dstring s 15 varying
C eval string = makestring(1234.5678)
C eval string = makestring(1234.5670)
C eval string = makestring(1234.5600)
C eval string = makestring(1234.5000)
C eval string = makestring(1234.0000)
C eval string = makestring(-1234.5678)
C eval string = makestring(-1234.5670)
C eval string = makestring(-1234.5600)
C eval string = makestring(-1234.5000)
C eval string = makestring(-1234.0000)
C eval *inlr = *on
P makestring b
D makestring pi 15 varying
D number 9 4 value
D i s 10i 0
D j s 10i 0
D l s 10i 0
D c s 1
D sign s 1
D string s 15 varying
C eval string=%trim(%editc(number:'J'))
C eval j = %scan('.':string) + 3
C eval l = %len(string)
C for i = l downto j
C eval c = %subst(string:i:1)
C select
C when c = '-'
C eval sign = '-'
C eval %len(string) = %len(string) - 1
C when %scan(%subst(string:i:1):'123456789') > 0
C leave
C other
C eval %len(string) = %len(string) - 1
C endsl
C endfor
C eval string = %trimr(string + sign)
C return string
P makestring e
"Stone, Brad V (TC)" wrote:
>
> It's for web developement... display only purposes. We have some companies
> that store a unit price to 4 decimals, others at 3, and others at 2.
>
> I wanted to make one field with 4 decimals, but then for those who only use
> 2 decimals if it always showed 4, and the last two were always 00, they
> would not like it.
>
> So, I may be stuck making 3 different fields. No biggie, and it may
> actually work better since those that use 4 decimals, it would not line up
> numbers nice if some of their unit prices didn't use all 4, for example..
>
> ItemA 1.0012
> ItemB 1.111
> ItemC 1.00
>
> Brad
>
> > -----Original Message-----
> > From: Joep Beckeringh [mailto:joep@beckeringh.myweb.nl]
> > Sent: Thursday, September 07, 2000 5:10 PM
> > To: RPG400-L@midrange.com
> > Subject: Re: Edit code/word to show only so many decimals?
> >
> >
> > Hi Bradley,
> >
> > I'm kind of curious why you would want that. Because our
> > software has to
> > deal with numbers with specified precision, I have routines
> > that check,
> > adjust and edit numbers to a specified number of decimals. I
> > can mail those
> > if you like, but I assume you'd hack one yourself before the
> > mail arrives
> > :-)
> >
> > Joep Beckeringh
> >
> >
> > ----- Original Message -----
> > From: "Stone, Brad V (TC)" <bvstone@taylorcorp.com>
> > To: <RPG400-L@midrange.com>
> > Sent: Thursday, September 07, 2000 11:03 PM
> > Subject: Edit code/word to show only so many decimals?
> >
> >
> > > Hi yall...
> > >
> > > Let's say I have a field that is 9,4.
> > >
> > > Is there a way to say "Only show the first two decimal
> > places, but, if
> > there
> > > is anything but zero in 3 or 4, show them as well.."
> > >
> > > So:
> > > 1.1100 = 1.11
> > > 1.1110 = 1.111
> > > 1.1101 = 1.1101
> > > 1.00 = 1.00
> > >
> > > Make sense?
> > >
> > > Brad
> >
> >
> >
+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.