JST( ) |
Justify String |
JST(string$,len [, jstcode [$] ][,char$][,ERR=stmtref])
Where:
char$ |
Optional string. Its first character is used to pad string$. If omitted, the default is to pad with blanks. String expression. | |||||||||
len |
Desired length of string. Numeric expression. | |||||||||
jstcode |
Optional numeric or string parameter defining how to justify the string:
If omitted, the string is right justified. | |||||||||
stmtref |
Program line number or statement label to which to transfer control. | |||||||||
string$ |
String expression to be processed. |
The value of the string after applying the padding/truncation.
The JST( ) function converts a given character string (string$) to the length (len) specified. It makes the string the desired length either by truncating the string$ or by appending a defined pad character. The default is to pad with spaces.
If the length you specify is less than 0, PxPlus returns an Error #41: Invalid integer encountered (range error or non-integer).
(The JST( ) function was added in PxPlus v7.)
The following code sample uses * (asterisks) to justify a numeric value to a length of 30 characters:
chq_amt=1.98,cust_name$="ACME INC."
chq_amt$="*****"+jst(str(chq_amt),30,"*")
print 'CS',@(0,5),"Customer name :",jst(cust_name$,20),"| ",
print @(0,6),chq_amt$
->run
Customer name :ACME INC. |
*****1.98**************************
This example illustrates the use of alpha-numeric versus numeric pad types in the JST( ) function:
! ^100 - PAD and JST functions
Orig$="Test String",Char$=".",PadLen=20
print 'LF',"Original String: "+@(24)+'BR'+Orig$+'ER'+'LF'
Type=0,Type$="L";
gosub JustifyIt;
Type=1,Type$="R";
gosub JustifyIt;
Type=2,Type$="C";
gosub JustifyIt
stop
!
! ^100
JustifyIt:
print "PAD(Orig$,"+str(PadLen)+","+quo+Type$+quo+","+quo+Char$+quo,
print ") = "+@(24)+'BR'+pad(Orig$,PadLen,Type$,Char$)+'ER'
print "JST(Orig$,"+str(PadLen)+","+quo+Type$+quo+","+quo+Char$+quo,
print ") = "+@(24)+'BR'+jst(Orig$,PadLen,Type$,Char$)+'ER'
return