Returns a formatted string that has been transformed according to the rules of the C "printf()".
put format("%1.3e",865.3)
put format("%03d", someNum)
# Description
Use the format to create strings in special formats.
The format works by taking a baseString that contains formatting incantations, transforming each member of the valuesList according to the corresponding incantation, then substituting the transformed string for the incantation in the baseString.
Character: %[charLength]c String: %[charLength]s Decimal number: %[charLength]d Unsigned integer: %[charLength]u Octal: %[charLength]o Hexadecimal: %[charLength]x Floating-point: %[charLength].[precision]f Scientific notation: %[charLength.precision]e
It also transforms C escape sequences in the baseString into their single- character equivalents.
# String
%[charLength]s
The corresponding value is unchanged, except that if a charLength is specified, if the string is shorter than the charLength, enough leading spaces are added to make it charLength characters long. If the length of the string is equal to or greater than the charLength, it is unchanged.
For example the following is true:
put format ("%3s", "H") = " H"
# Character
%[charLength]c
The corresponding value is treated as an ASCII value and translated to the corresponding character. If a charLength is specified, one fewer leading spaces are added to make it charLength characters long.
For example the following is true:
put format ("%2c", 65) = " A"
(65 is the ASCII value of the character "A").
# Decimal number
%[charLength]d
Unsigned integer: %[charLength]u
Like %[charLength]d, except that if the value is negative, it is subtracted from the largest long integer allowed by the current operating system. (On most operating systems, this is 2^32, or 4,294,967,296.)
Octal:%[charLength]o
Hexadecimal:%[charLength]x
%[charLength]X Like %[charLength]x, except that the hex digits A-F are given in uppercase.
For example, the incantation %4x transforms "30. 3" to " 1E".
Floating-point: %[charLength].[precision]f
%[charLength. precision]g Like %[charLength]. [precision]f, except that trailing zeroes are not added if the number of digits is less than the precision.
Scientific notation: %[charLength. precision]e
%[charLength. precision]E Like %[charLength. precision]e, except that the "E" separating the number from the power of ten is uppercase. For example, the incantation %3. 2e transforms "232. 4" to "2. 32E+02".
If any of the following C escape sequences are present in the baseString, the format function transforms them to the equivalent character:
\aControl-G (bell) \bControl-H (backspace) \fControl-L (formfeed) \nControl-J (linefeed) \rControl-M (return) \tControl-I (tab) \vControl-K (vertical tab) \\ \?? \'' (enclose a quote within a string) \nnncharacter whose ASCII value is the octal number represented bynnn \xnncharacter whose ASCII value is the hex number represented by
Note: Transformation of values in valuesList uses the standard LiveCode conversion rules. For example, if empty is passed for a numeric incantation it will be taken as the value 0.
Here is how you would pad a number (someNum) up to three trailing 0's: