format
语法:format formatString arg arg ...
参数介绍:
- formatString:格式化字符串,使用各种标识符和修饰符进行格式化。
- arg:被格式化的变量或字符串。
Tcl语言中的format命令可以用来格式化字符串输出,常用的语法如下:
1、普通字符串输出:
set str "hello"
puts [format "%s" $str] ;# 输出 hello
2、整数输出:
set num 123
puts [format "%d" $num] ;# 输出 123
3、浮点数输出:
set fnum 3.141592653
puts [format "%.2f" $fnum] ;# 输出 3.14
4、字符输出:
set char "a"
puts [format "%c" $char] ;# 输出 a
5、八进制输出:
set onum 64
puts [format "%o" $onum] ;# 输出 100
6、十六进制输出:
set hnum 255
puts [format "%x" $hnum] ;# 输出 ff
7、对齐输出:
set name "Tom"
set age 18
puts [format "%-10s: %3d" $name $age] ;# 输出 Tom : 18
其中,%-10s表示左对齐的字符串,占用10个字符的宽度;%3d表示右对齐的整数,占用3个字符的宽度。
8、插值输出:
set name "Tom"
set age 18
puts [format "My name is ${name}, I'm ${age} years old."] ;# 输出 My name is Tom, I'm 18 years old.
其中,${name}和${age}表示插值输出,将变量的值插入到字符串中。
scan
语法:scan string formatString varName varName ...
参数介绍:
- string:被解析的字符串。
- formatString:格式化字符串,使用各种标识符和修饰符进行解析。
- varName:解析结果被存储的变量名称。
示例:
set str "123 456"
scan $str "%d %d" num1 num2
puts "The numbers are: $num1, $num2"
输出:
The numbers are: 123, 456
示例解释:
第一行通过set命令将字符串"123 456"赋值给变量$str。第二行使用scan命令,将字符串$str按照指定格式进行解析,并将解析结果存储在变量$num1和$num2中。第三行拼接输出解析结果。