DEFDBL - QB64 Wiki


From QB64 Wiki

Jump to: navigation, search

The DEFDBL statement defines all variables with names starting with the specified letter (or letter range) AS DOUBLE variables instead of the SINGLE type default.

Legacy support

  • DEF statements (DEFDBL, DEFSNG, DEFLNG, DEFINT, DEFSTR) were used when storage space was a concern in older computers, as their usage could save up typing. Instead of DIM a AS DOUBLE, a2 AS DOUBLE, a3 AS DOUBLE, simply having DEFDBL A in the code before using variables starting with letter A would do the same job.
  • For clarity, it is recommended to declare variables with meaningful names.



DEFDBL letter[-range], letter2[-range2], [...]


  • letter (or range) can be from A-Z or any other range, like G-M.
  • You can also use commas for specific undefined variable first letters.
  • Variables DIMensioned as another variable type or that use type suffixes are not affected by DEFDBL.
  • DEFDBL sets the type of all variable names with the starting letter(s) or letter ranges when encountered in the progression of the program (even in conditional statement blocks not executed and subsequent SUB procedures).
  • Warning: QBasic keyword names cannot be used as numerical variable names with or without the type suffix.


  • QBasic's IDE would add DEF statements before any SUB or FUNCTION. QB64 (like QBasic) will change all variable types in subsequent sub-procedures to that default variable type without giving a "Parameter Type Mismatch" warning or adding DEF statement to subsequent procedures. If you do not want that to occur, either remove that DEF statement or add the proper DEF type statements to subsequent procedures. May also affect $INCLUDE procedures.


DEFDBL A, F-H, M 'With the above, all variables with names starting with A, F, G, H and M 'will be of type DOUBLE, unless they have a type suffix 'indicating another type or they are dimensioned differently

See also

Go to Keyword Reference - Alphabetical
Go to Keyword Reference - By usage
Go to Main WIKI Page
  • Page
  • Discussion
  • View source
  • History
Personal tools
  • Log in
  • What links here
  • Related changes
  • Special pages
  • Printable version