I need to format a long value to string.
The input record like:
"12353555100001112083997OOO0000003 0015900122550300099010000245000311503576L16N000012800001286 01 000179 00000510000492M00058499999 0016000001000541900818901 0045207 00<strong>0003</strong>0000016"
I'm doing some manipulation on the bolded 4 char (by converting it to long) and few other manipulations of other characters and produce a result.
The manipulation of 0003 should yield 384 and hence before inserting into the actual record I need to append '0' and should be like 0384. I used
long myValue = 384;
output = record.replace(record.substring(startIndex, endIndex), String.format("%1$4d", myValue));
But, it produces a weird output like:
1 3845551 3841112083997OOO 384003 00159001225503 9901 384245000311503576L16N 384128 3841286 01 000179 384051 384492M00058499999 0016 38401000541900818901 0045207 38403 384016
where i can see, that 384 is inserted multiple times into the record. what could be the error?