非变量编译时字符串和数值。
文字是直接在源代码中指定的数字或字符串。可以通过将它们赋值给变量或常量,将它们传递给过程或在表达式中使用它们来使用字面值。
数字文字有两种形式 - 整数和浮点数。
整数文字
十进制小数位数(
0 1 2 3 4 5 6 7 8 9)。
Note: to get negative values, a "-" sign (操作符 - (Negate)) can be placed before a numeric literal
Dim x As Integer = 123456
Dim b As Byte = -128
十六进制“
&H”,后跟十六进制数字(
0 1 2 3 4 5 6 7 8 9 A B C D E F)。
Dim x As Integer = &h1E240
Dim b As Byte = &H80
{八路}999796002
“&O”(O如“八进制”),后跟八进制数字(0 1 2 3 4 5 6 7)
Dim x As Integer = &O361100
Dim b As Byte = &O200
{999796001}Binary{999796002}
“&B”,后跟二进制数字(0 1)
Dim x As Integer = &B11110001001000000
Dim b As Byte = &B10000000
整数大小后缀
如果未提供整数文字后缀,则会自动计算保存文字所需的数字字段大小。指定大小后缀保证编译器将一个数字视为一个特定的整数大小。
整数文字以:
前缀,后缀和十六进制字母数字都不区分大小写。
Dim a As Long = 123L
Dim b As UInteger = &h1234u
Dim c As LongInt = 76543LL
Dim d As ULongInt = &b1010101ULL
浮点文字
浮点数以十进制数表示,可以是正数或负数,具有小数部分,可选地指数。浮点文字的格式如下:
number[.[fraction]][((D|E) [+|-] exponent)|(D|E)|][suffix]
or
.fraction[((D|E) [+|-] exponent)|(D|E)|][suffix]
默认情况下,没有指数或后缀的浮点数被视为双精度浮点值,除了
-lang qb 方言之外,其中7位或更少的数字被认为是单精度。
Dim a As Double = 123.456
Dim b As Double = -123.0
放在数字/分数部分之后的字母“
D”或“
E”允许给出一个指数。指数可以用正号或负号(“
+”)或减号(“
-”)指定。没有符号的指数是正数。
在信之后不需要指数,所以该字母只能用于指定类型。“
D”指定双精度浮点数。“
E”使用默认精度指定浮点数。当字母与后缀结合使用时(见下文),后缀表示的类型会覆盖字母指定的类型。
Dim a As Double = -123.0d
Dim b As Double = -123e
Dim c As Double = 743.1e+13
Dim d As Double = 743.1D-13
Dim e As Double = 743.1E13
Dim f As Single = 743D!
数字上的“
!”或“
F”后缀指定单个精度(总共32位)浮点值。后缀“
#”指定双精度浮点数。
请注意,字母后缀和指数说明符都不区分大小写。
Dim a As Single = 3.1!
Dim b As Single = -123.456e-7f
Dim c As Double = 0#
Dim d As Double = 3.141592653589e3#
字符串文字
字符串文字是包含在两个双引号之间的一系列字符。字符序列已转义或未转义。
双引号可以在字符串文字中使用两个双引号在一起指定。
Print "Hello World!"
Print "That's right!"
Print "See the ""word"" contained in double quotes."
字符串字面值可以包含转义序列,如果字符串文字以
! Operator(转义字符串文字)为前缀。有关接受的转义序列的列表,请参阅
转义序列.
Print !"Hello\nWorld!"
默认情况下,字符串字面值不会被转义,除非源中使用
Option Escape,在这种情况下,所有字符串字面值都按默认值转义。
在
$ Operator(非转义字符串文字)前缀时,字符串可能会被显式指定为非转义。
Print $"C:\temp"
除了具有Unicode转义序列的ASCII文件(
\u),FreeBASIC可以解析UTF-8,UTF-16LE,UTF-16BE,UTF-32LE和UTF-32BE源文件,直接在字符串文字中使用unicode字符。
参考