The STRING function returns its arguments converted to string type. It is similar to the PRINT procedure, except that its output is placed in a string rather than being output to the terminal. The case in which a single expression of type byte is specified without the FORMAT keyword is special—see the Differences Between STRING and PRINT for details.
Note: Applying the STRING function to a byte array containing a null (zero) value will result in the resulting string being truncated at that position.
To convert the contents of variable A to string type and store the result in variable B, enter:
B = STRING(A)
Returns a string value or array of the same dimensions as the result of the Expression. If Expression includes complex numbers, STRING returns strings of the format (real, complex).
The expressions to be converted to string type.
Note: If you supply a comma-separated list of expressions without specifying a FORMAT, and the combined length of the expressions is greater than the current width of your tty or command log window, STRING will create a string array with one element for each expression, rather than concatenating all expressions into a single string. In this case, you can either specify a FORMAT, or use the string concatenation operator, “+”.
Supplies a string array of 2 names to be used for the names of the AM and PM string when processing explicitly formatted dates (CAPA, CApA, and CapA format codes) with the FORMAT keyword.
Supplies a string array of 7 names to be used for the names of the days of the week when processing explicitly formatted dates (CDWA, CDwA, and CdwA format codes) with the FORMAT keyword.
A format string to be used in formatting the expressions. See Using Explicitly Formatted Input/Output.
Set this keyword to format the result using the same formatting rules as Implied Print.
Supplies a string array of 12 names to be used for the names of the months when processing explicitly formatted dates (CMOA, CMoA, and CmoA format codes) with the FORMAT keyword.
Set this keyword to specify that any special processing for byte data should be ignored and that STRING should behave exactly as the PRINT procedure would.
The behavior of STRING differs from the behavior of the PRINT procedure in the following ways (unless the PRINT keyword is set):
- When called with a single non-byte argument and no format specification, STRING returns a result that has the same dimensions as the original argument. For example, the statement:
gives the result:
<Expression> STRING = Array
<Expression> STRING =' 0 1 2 3 4'
- If called with a single argument of byte type and the FORMAT keyword is not used, STRING simply stores the unmodified values of each byte element in the result. This result is a string containing the byte values from the original argument. Thus, the result has one less dimension than the original argument. For example, a 2-dimensional byte array becomes a vector of strings, a byte vector becomes a scalar string. However, a byte scalar also becomes a string scalar. For example, the statement:
produces the output Hello because the argument to STRING, is a byte vector. Its first element is a 72B which is the ASCII code for “H”, the second is 101B which is an ASCII “e”, and so forth.
- If both the FORMAT and PRINT keywords are not present and STRING is called with more than one argument, and the last argument is a scalar string starting with the characters “$(” or “(”, this final argument is taken to be the format specification, just as if it had been specified via the FORMAT keyword. This feature is maintained for compatibility with version 1 of VMS IDL.