Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Concatenating Zero to string

Former Member
0 Likes
2,002

Hi,

I need to know how to add zero to a string.

I have VAR1(18) TYPE C in which the value is 47896.24 now I need to have out put as 000000000047896.24

I tried the FM 'CONVERSION_EXIT_ALPHA_INPUT' which is working for numeric only and my data type is C.

Thanks in Advance.

Regards,

Kiran

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,287

Hi kiran,

You can do it like following:

DATA: VAR1(18) TYPE C VALUE '47896.24'.

DATA: VAR2(15) TYPE C,

VAR3(3) TYPE C.

SPLIT VAR1 AT '.' INTO VAR2 VAR3.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

INPUT = VAR2

IMPORTING

OUTPUT = VAR2.

CONCATENATE VAR2 '.' VAR3 INTO VAR1.

WRITE VAR1.

Thanks and regards,

Dharitree

10 REPLIES 10
Read only

seshatalpasai_madala
Product and Topic Expert
Product and Topic Expert
0 Likes
1,287

Hi,

Execute this code and see

DATA: str1 type String,

str2 type String.

DATA: char_num(8) type c value '47896.24'.

SPLIT char_num AT '.' INTO str1 str2.

DATA: numc(15) type n.

numc = str1.

concatenate numc '.' str2 into str1.

write: str1.

Regards,

Sesh

Read only

Former Member
0 Likes
1,287

hi,

you can use CONCATENATE for that.

CONCATENATE '00000000000' 47896.24 into var1.

if it helps REWARD...

rgds

harris

Read only

Former Member
0 Likes
1,287

Hi kiran,

do one thing split at '.' and move the values to variables

use conversion routine to numeric value

and again use concatenate.

Please close thread if it is helpful,

Best Regds,

kiran.M

Read only

former_member189059
Active Contributor
0 Likes
1,287

Hello Kiran,

try this, it should solve your problem

data: lv_oldvar type string.
lv_oldvar = '47896.24'.

data: lv_total type i value 18. " total length required
data: lv_diff type i.
data: lv_newvar type string.

lv_diff = lv_total - strlen( lv_oldvar ).

lv_newvar = lv_oldvar.

do lv_diff times.
  concatenate '0' lv_newvar into lv_newvar.
enddo.

write:/ lv_newvar.

Read only

Former Member
0 Likes
1,288

Hi kiran,

You can do it like following:

DATA: VAR1(18) TYPE C VALUE '47896.24'.

DATA: VAR2(15) TYPE C,

VAR3(3) TYPE C.

SPLIT VAR1 AT '.' INTO VAR2 VAR3.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

INPUT = VAR2

IMPORTING

OUTPUT = VAR2.

CONCATENATE VAR2 '.' VAR3 INTO VAR1.

WRITE VAR1.

Thanks and regards,

Dharitree

Read only

Former Member
0 Likes
1,287

HI,

Try this,it will work fine.

<b>DATA : VAR1(18) TYPE C VALUE '47896.24'.

TRANSLATE VAR1 USING ' 0'.

WRITE : VAR1.</b>

Output:

<b>000000000047896.24</b>

Regards,

Padmam.

Read only

Former Member
0 Likes
1,287

Hi kiran,

try this:

data: null(18) value '000000000000000000'.

data: v1(18) value '47896.24'.

data: i type i.

data: j type I.

i = strlen( v1 ).

j = 18 - i.

null+j = v1(i).

regards, Dieter

Read only

Former Member
0 Likes
1,287

Thanks every one

Read only

0 Likes
1,287

Hi Kiran

where is my points

Read only

0 Likes
1,287

Hello Kiran C,

Did my method work ?