I tried this in a test program and got this warning on the compile:


RNF7551RNF7551

Decimal positions are truncated for an operation in an expression.

10

Cause . . . . . : Decimal positions are truncated for the result of an
operation within an expression. This may happen when the result of an
arithmetic operation has more than 63 digits. Digits may be truncated at the
right to minimize the chance of numeric overflow occurring. For a division
operation, this may result when the numerator has too many digits or the
denominator has too many digits to the right of the decimal point.

Recovery . . . : Change the precisions of the operands, or divide the
expression into two or more statements. Compile again.




On Wed, Jan 20, 2010 at 8:41 AM, Raul A. Jager W. <raul@xxxxxxxxxx> wrote:

PORCIVA is 5, 2, and its value is 10
IMP$ hada value of 52.24 and I expected NETO$ to result 47.49, but I got
47.00 instead.

Bob P. Roche wrote:
How is porciva defined?



From:
"Raul A. Jager W." <raul@xxxxxxxxxx>
To:
RPG programming on the IBM i / System i <rpg400-l@xxxxxxxxxxxx>
Date:
01/20/2010 08:28 AM
Subject:
Decimals in division
Sent by:
<rpg400-l-bounces@xxxxxxxxxxxx>



I tryed to calculate a discount using:

neto$ = imp$ / ( 1 + porciva /100);

where neto$ and imp$ are defined as 13, 2
I expected two decimals, but instead I got an integer value in neto$.

I found a "solution" using:

neto$ = %dec(imp$ / ( 1 + porciva /100): 13: 2);

Works fine, but looks more complicated than necesary.
Why the original eval did give me an integer?

TIA
Raúl


--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 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.