PRINT USING - mkilgore/QB64pe GitHub Wiki

The PRINT USING statement is used to PRINT formatted data to the Screen using a STRING template.

Syntax

PRINT [text${;|,}] USING template$; variable[;][{;|,}]

Parameters

  • Literal or variable STRING text$ can be placed between PRINT and USING or it can be included in the template.
  • A semicolon or comma may follow the text to stop or tab the print cursor before the template PRINT.
  • The literal or variable STRING template should use the template symbols to display each variable type in the list following it.
  • The list of data variables used in the template are separated by semicolons after the template string value.
  • In QB64 ONE semicolon or comma may follow the variable list to stop the print cursor for pending prints. QB only allowed a semicolon.
Usage:
  • The variables should be listed in the order that they are used in the template from left to right.
  • If the template string is omitted or symbols don't match the variable(s) an "Illegal Function Call" ERROR will occur!
  • No more than 25 # digit places are allowed in a template number or an error will occur.
  • Can convert numerical exponential or scientific notation values to normal decimal point values using less digits.
  • NOTE: If the numerical value exceeds the template's digit range a % symbol will appear in the leftmost digit area.
  • WARNING: The numbers displayed are rounded so the actual values are never changed and are actually more accurate.
template$ is a string literal or variable, using the following formatting characters:
& Prints an entire string value. STRING length should be limited as template width will vary.
\   \ Denotes the start and end point of a fixed string area with spaces between(LEN = spaces + 2).
! Prints only the leading character of a string value.
Denotes a numerical digit. An appropriate number of digits should be used for values received.
^^^^ After # digits prints numerical value in exponential E+xx format. Use ^^^^^ for E+xxx values. (¹)
. Period sets a number's decimal point position. Digits following determine rounded value accuracy.
,. Comma to left of decimal point, prints a comma every 3 used # digit places left of the decimal point.
+ Plus sign denotes the position of the number's sign. + or - will be displayed.
- Minus sign (dash) placed after the number, displays only a negative value's sign.
$$ Prints a dollar sign immediately before the highest non-zero # digit position of the numerical value.
Prints an asterisk in any leading empty spaces of a numerical value. Adds 2 extra digit positions.
    • $
Combines ** and $$. Negative values will display minus sign to left of $.
_ Underscore preceding a format symbol prints those symbols as literal string characters.
Note: Any string character not listed above will be printed as a literal text character. (¹) Any # decimal point position may be specified. The exponent is adjusted with significant digits left-justified.

Example 1: Printing formatted data using a predefined string template variable.

PRINT USING tmp$; first$; last$; boxes%; sales!
Salesperson: Bobby Smith  1,510  $4,530.00
Explanation: The Salesperson: text precedes the formatted data. The name lengths will change the length of the string template accordingly so columns will not all line up. If \ \ was used, the columns would stay the same, but parts of some names might be lost. If the box or sales values exceed 3 digits, a comma is used in the value every 3 digits.

Example 2: How to display formatting symbols as normal text using underscores in a PRINT USING template.

 '' ''
errcode = 35
PRINT USING "Error ## occurred!!"; errcode
'now there are the !! at the end of the printed string
PRINT USING "Error ## occurred_!_!"; errcode
END ''
Error 35 occurred
Error 35 occurred!!
Explanation: The first template will not print the exclamation points or error when the requested text parameters are omitted.
Example 3: Exponential notation is designated after the leading digits are formatted. Digit places determine rounded value displayed.
PRINT USING "##.##^^^^"; 234.56
PRINT USING ".####^^^^-"; -777777
PRINT USING "+.##^^^^"; 123
PRINT USING "+.##^^^^^"; 123 '' ''
 2.35E+02
.7778E+06-
+.12E+03
+.12E+003
Explanation: Note how 5 carets in the bottom format expands the number of exponent digits to accommodate larger exponent values.
Example 4: USING does not necessarily have to immediately follow PRINT, but it must follow it in the code line.
PRINT "I have this much money!"; PRINT USING tmp$; money '' ''
Note: This can also be used to print the USING formatting characters outside of the template.
See also:
Navigation:
Go to Keyword Reference - Alphabetical
Go to Keyword Reference - By usage
Go to Main WIKI Page
⚠️ **GitHub.com Fallback** ⚠️