Skip to content

(PRINT | ?) USING


向屏幕或输出设备输出格式化文本。

语法

(Print | ?) [# filenum ,] [ printexpressionlist {,|;} ] Using formatstring ; [ expressionlist [ ; ] ]

参数

filenum

OutputAppend 方式打开的文件或设备的文件号。(在适当时也可使用 Lprint 代替 Print #

printexpressionlist

可选的前置打印项目列表,用逗号(,)或分号(;)分隔(详见 Print)。

formatstring

要使用的格式字符串。

expressionlist

要格式化的项目列表,用分号(;)分隔。

说明

使用 formatstring 参数确定的格式将各种表达式打印到屏幕。Print Using 内部使用2048字节的缓冲区:虽然缓冲区被填满的可能性极低,但应注意一旦达到此限制,输出将被截断。

若未提供表达式列表,格式字符串将打印到第一个特殊标记之前。注意即使未提供表达式列表,formatstring 后的分号仍然是必需的。

格式字符串通过使用特殊标记字符来决定表达式输出到屏幕时的格式。字符串和数值输出均有对应的标记:

字符串格式化

标记格式
!打印字符串的第一个字符
\ \打印两个或更多字符串字符——与反斜杠('')及其内部空格(' ')所占位置一样多的字符数
&打印整个字符串

若指定了确切的字符数(使用 "!""\ \"),字符串将根据需要截断或用空格右填充到指定数量的字符。

数值格式化

标记格式
#整数位或(若前面有小数点时的)小数位的占位符
,放在整数位后,表示定点表示法中以逗号分隔每3位数字
.放在#附近,表示小数点位置
^^^放在数字字符后,使用科学计数法(E+/-#)
^^^^放在数字字符后,使用科学计数法(E+/-##)
^^^^^放在数字字符后,使用科学计数法(E+/-###)
+放在格式字符串前/后,控制数字符号的前置/追加方式,并对正数显式打印'+'号
-放在格式字符串后,使数字符号追加而非前置,正数追加空格,负数追加负号
$$放在整数位开头,在数字前(若有前置符号则在其后)加美元符号
**放在整数位开头,将左侧填充字符从空格改为星号
**$放在整数位开头,用星号左填充,并在星号后加美元符号
&智能打印数字,使用恰好所需的位数(0.21.0b版本新增)

所有特殊标记字符均可通过在其前加下划线 "_" 来转义,使其直接打印。例如,"_!" 打印为 "!""__" 打印为 "_"

若数值无法容纳在格式字符串指定的位数中,格式将自动调整以适应该数字(可能切换为科学计数法),并在数字前打印百分号 "%"。例如,数字 1234 使用 "##.##"formatstring 将打印为 "%1234.00"

格式字符串中所有其他字符按原样打印。

除非表达式列表后跟分号(;),否则在值后打印换行符。

示例

start GeSHi

vb
Print Using "The value is #.## seconds"; 1.019
Print Using "The ASCII code for the pound sign (_#) is ###"; Asc("#")
Print Using "The last day in the year is & \ \"; 31; "December"
Print
For exponent As Integer = 1 To 5
   Print Using "10 ^ # = ######"; exponent; 10 ^ exponent
Next exponent

end GeSHi

将产生以下输出:

vb
The value is 1.02 seconds
The ASCII code for the pound sign (#) is  35
The last day in the year is 31 Dec

10 ^ 1 =     10
10 ^ 2 =    100
10 ^ 3 =   1000
10 ^ 4 =  10000
10 ^ 5 = 100000

与 QB 的差异

  • QB 中 "&" 不能用于打印数字。

另请参阅

  • Print
  • ?
  • Print #
  • ? #
  • Format
  • Using
  • Palette Using

返回 目录

基于 FreeBASIC 官方文档翻译 如有侵权请联系我们删除
FreeBASIC 是开源项目,与微软公司无隶属关系