View previous topic :: View next topic
|
Author |
Message |
bijjaragi Warnings : 2 New User
Joined: 08 Sep 2006 Posts: 7 Location: Bangalore
|
|
|
|
hi friends,
how to get only the decimal part from a variable
if i have
77 var1 pic 9(4)v99 value 123422.
from this variable i need to extract only decimal part i.e. 22.
can anybody suggest me.
eagerly waiting,
vivek |
|
Back to top |
|
|
guptae
Moderator
Joined: 14 Oct 2005 Posts: 1208 Location: Bangalore,India
|
|
|
|
Hi vivek,
Do u want it thru COBOL program or by using Sort utility |
|
Back to top |
|
|
bijjaragi Warnings : 2 New User
Joined: 08 Sep 2006 Posts: 7 Location: Bangalore
|
|
|
|
hi guptae,
I am asking in cobol only.
thanks in advance. |
|
Back to top |
|
|
guptae
Moderator
Joined: 14 Oct 2005 Posts: 1208 Location: Bangalore,India
|
|
|
|
Hi Bijjarangi,
Code: |
10 VAR2.
15 VAR2-A PIC 9(4).
15 VAR2-B PIC 9(2).
MOVR VAR1 TO VAR2.
DISPLAY 'DECIMAL:' VAR2-B |
Hope it will helpful |
|
Back to top |
|
|
kgumraj
Active User
Joined: 01 May 2006 Posts: 151 Location: Hyderabad
|
|
|
|
To get only decimal's you can you
MOVE VAR1(5:2) TO VAR2. |
|
Back to top |
|
|
DavidatK
Active Member
Joined: 22 Nov 2005 Posts: 700 Location: Troy, Michigan USA
|
|
|
|
Vivek,
Here?s a few more ways that you will find a little more flexible.
Code: |
WORKING-STORAGE SECTION.
77 VAR1 PIC 9(4)V99 VALUE 1234.22.
77 VAR2 PIC 9(4) VALUE 0.
77 VAR3 PIC V9(2) VALUE 0.
LINKAGE SECTION.
PROCEDURE DIVISION.
PROGRAM-START.
DISPLAY ' '.
DISPLAY 'MOVE'.
DISPLAY 'BEFORE ' VAR1 ' ' VAR2 ' ' VAR3.
MOVE VAR1 TO VAR2.
COMPUTE VAR3 = VAR1 - VAR2.
DISPLAY 'AFTER ' VAR1 ' ' VAR2 ' ' VAR3.
MOVE 0 TO VAR2 VAR3.
DISPLAY ' '.
DISPLAY 'FUNCTION INTEGER-PART'.
DISPLAY 'BEFORE ' VAR1 ' ' VAR2 ' ' VAR3.
COMPUTE VAR3 = VAR1 - FUNCTION INTEGER-PART(VAR1).
DISPLAY 'AFTER ' VAR1 ' ' VAR2 ' ' VAR3.
MOVE 0 TO VAR2 VAR3.
DISPLAY ' '.
DISPLAY 'DIVIDE'.
DISPLAY 'BEFORE ' VAR1 ' ' VAR2 ' ' VAR3.
DIVIDE VAR1 BY 1 GIVING VAR2 REMAINDER VAR3.
DISPLAY 'AFTER ' VAR1 ' ' VAR2 ' ' VAR3.
GOBACK.
|
Display results:
Code: |
.SARPAGE 4
.
.
.MOVE
.BEFORE 123422 0000 00
.AFTER 123422 1234 22
.
.FUNCTION INTEGER-PART
.BEFORE 123422 0000 00
.AFTER 123422 0000 22
.
.DIVIDE
.BEFORE 123422 0000 00
.AFTER 123422 1234 22
|
|
|
Back to top |
|
|
|