Tcl命令操作实验-----(8)--数字表达式的精度

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

Tcl数学表达式采用expr,默认精度是12位,代码如下:

puts $a
10
puts [expr $a /9]
1
puts [expr $a /9.0]
1.1111111111111112
puts [expr 10.0 /9]
1.1111111111111112

如果调整Tcl的精度为5位(这需要用到Tcl的特殊变量,具体特殊变量见代码之后的说明)

puts $a
10
set $tcl_precision 5;#设置错误了,并没有起作用
5
puts [expr $a /9]
1
puts [expr $a /9.0];#默认的精度16位
1.1111111111111112
set tcl_precision 5;#这样才设置正确Tcl的精度
5
puts [expr $a /9.0]
1.1111
set tcl_precision 6
6
puts $tcl_precision
6
puts tcl_precision
tcl_precision
puts [expr 10.0 /9.0]
1.11111
puts [expr 10000.0/9.0]
1111.11

特殊变量如下:

argc 指命令行参数的个数。
argv 指包含命令行参数的列表。
argv0 是指被解释的文件或由调用脚本的名称的文件名。
env 用于表示是环境变量数组元素。
errorCode 为最后的Tcl错误的错误代码。
errorInfo 为最后Tcl错误的堆栈跟踪信息。
tcl_interactive 分别将其设置为1和0交互和非交互模式之间切换。
tcl_library 用于设置的标准Tcl库的位置。
tcl_pkgPath 提供一般都安装包的目录列表。
tcl_patchLevel 指的是Tcl解释目前的补丁级别。
tcl_platform 用于表示使用对象,包括byteOrder, machine, osVersion平台和操作系统数组元素。
tcl_precision 指的是精度,即位数转换为浮点数时,字符串保留。默认值是12。
tcl_prompt1 指的是主提示符。
tcl_prompt2 指无效的命令二次提示。
tcl_rcFileName 为用户提供了具体的启动文件。
tcl_traceCompile 用于控制字节码编译的跟踪。用0表示无输出,1为概要和2为详细。
tcl_traceExec 用于控制执行的字节码的跟踪。用0表示无输出,1为概要和2为详细。
tcl_version 返回Tcl解释器的最新版本。

转载于:https://my.oschina.net/u/2963604/blog/2221564

你可能感兴趣的:(Tcl命令操作实验-----(8)--数字表达式的精度)