Skip to main content

string::PadRight issues

  • August 28, 2014
  • 2 replies
  • 0 views

Dominique Sacre
Forum|alt.badge.img+2

The PadRight() method for strings only seems to work with hard coded numbers.

01 str1 as string value "hello".

01 str2 as string.

set str2 to str1::PadRight(10)   *> this works fine

declare pad as string = 10

set str2 to str1::PadRight(pad)   *> this doesn't work - no trailing spaces in returned string

Am I doing this wrong or is this a bug?


#stringspacespadding
#VisualCobolManaged

2 replies

Dominique Sacre
Forum|alt.badge.img+2

The PadRight() method for strings only seems to work with hard coded numbers.

01 str1 as string value "hello".

01 str2 as string.

set str2 to str1::PadRight(10)   *> this works fine

declare pad as string = 10

set str2 to str1::PadRight(pad)   *> this doesn't work - no trailing spaces in returned string

Am I doing this wrong or is this a bug?


#stringspacespadding
#VisualCobolManaged

Edit: The line should read:

declare pad as binary-long = 10

which is what I have in my code. I just typed it wrong in my post.


Dominique Sacre
Forum|alt.badge.img+2

The PadRight() method for strings only seems to work with hard coded numbers.

01 str1 as string value "hello".

01 str2 as string.

set str2 to str1::PadRight(10)   *> this works fine

declare pad as string = 10

set str2 to str1::PadRight(pad)   *> this doesn't work - no trailing spaces in returned string

Am I doing this wrong or is this a bug?


#stringspacespadding
#VisualCobolManaged

Hi Randy, I tried compiling and running the following:

      01 str1 string value "hello".

      01 str2 string.

          set str2 to str1::PadRight(10)   *> this works fine

          display str2

          declare pad as binary-long = 10

          set str2 to str1::PadRight(pad)   *> this doesn't work - no trailing spaces in returned string

          display str2

Both of the display statements  showed "hello" followed by 5 spaces.  I think this is correct behaviour as the PadRight adds spaces up to the total length specified by the parameter.