‎2007 Aug 03 12:53 PM
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
‎2007 Aug 03 1:12 PM
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
‎2007 Aug 03 12:58 PM
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
‎2007 Aug 03 1:00 PM
hi,
you can use CONCATENATE for that.
CONCATENATE '00000000000' 47896.24 into var1.
if it helps REWARD...
rgds
harris
‎2007 Aug 03 1:09 PM
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
‎2007 Aug 03 1:10 PM
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.
‎2007 Aug 03 1:12 PM
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
‎2007 Aug 03 1:14 PM
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.
‎2007 Aug 03 1:24 PM
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
‎2007 Aug 03 1:41 PM
‎2007 Aug 03 1:45 PM
‎2007 Aug 03 1:54 PM