IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

Replacing leading zeroes from signed numeric field


IBM Mainframe Forums -> COBOL Programming
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
kishpra

New User


Joined: 24 May 2010
Posts: 92
Location: Pune

PostPosted: Thu Oct 03, 2013 4:25 pm
Reply with quote

Hi,

I have a variable defined as -

05 A PIC -9(09).99.

it is taking the values from databse as -

000000100.00
-000000015.25
000060000.00

Now I want the output in the field as -

100.00
-15.25
600.00


Please assist.
Back to top
View user's profile Send private message
Akatsukami

Global Moderator


Joined: 03 Oct 2009
Posts: 1788
Location: Bloomington, IL

PostPosted: Thu Oct 03, 2013 4:34 pm
Reply with quote

Define a variable with a floating sign, and MOVE A to that variable.
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Thu Oct 03, 2013 4:41 pm
Reply with quote

And if you want it left-justified, use UNSTRING ... DELIMITED BY ALL SPACE INTO a-rubbish-field the-field-you-want.
Back to top
View user's profile Send private message
kishpra

New User


Joined: 24 May 2010
Posts: 92
Location: Pune

PostPosted: Thu Oct 03, 2013 5:00 pm
Reply with quote

Please give an example
Back to top
View user's profile Send private message
Akatsukami

Global Moderator


Joined: 03 Oct 2009
Posts: 1788
Location: Bloomington, IL

PostPosted: Thu Oct 03, 2013 5:06 pm
Reply with quote

Floating insertion editing.
Back to top
View user's profile Send private message
kishpra

New User


Joined: 24 May 2010
Posts: 92
Location: Pune

PostPosted: Thu Oct 03, 2013 5:12 pm
Reply with quote

I defined the variable as PIC +++++++9999.99.

and the output i got is -

+0100.00
-0015.25
+60000.00

But i need the output as -

100.00
-15.25
60000.00

Please assist.
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Thu Oct 03, 2013 5:20 pm
Reply with quote

Use - instead of plus.

Decide what you want for zero, for numbers less than one, Define an apporpriate number of -s, like PIC -(9)9.99 - who knows? You do.

Read my previous post.
Back to top
View user's profile Send private message
jerryte

Active User


Joined: 29 Oct 2010
Posts: 202
Location: Toronto, ON, Canada

PostPosted: Fri Oct 11, 2013 10:48 pm
Reply with quote

Try the below code
Code:
05 A PIC -9(09).99.
05 B PIC -(09)9.99.
05 B-X  REDEFINES B PIC X(13).
05 C PIC X(13).
05 D PIC X(13).

MOVE A TO B
UNSTRING B-X
  DELIMITED BY ALL ' '
  INTO C D
END-UNSTRING
DISPLAY D

Variable D has what you want
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> COBOL Programming

 


Similar Topics
Topic Forum Replies
No new posts Replacing 'YYMMDD' with date, varying... SYNCSORT 3
No new posts Issues Converting From ZD to Signed N... DFSORT/ICETOOL 4
No new posts Replace Multiple Field values to Othe... DFSORT/ICETOOL 12
No new posts Keep leading zero(s) after convert fl... SYNCSORT 7
No new posts Remove leading zeroes SYNCSORT 4
Search our Forums:

Back to Top