一、TCL数学函数列表

函数名

说明

举例

abs(arg)

取绝对值

set a –10  ; #a=-10 set a [expr abs($a)]; # a=10

acos(arg)

反余弦

set p 1.0; set a [expr acos($p)   => a=0.0

asin(arg)

反正弦

atan(arg)

反正切

atan2

比值取反正切

ceil(arg)

返回不小于 arg 值的整数值

cos(arg)

余弦

cosh(arg)

双曲余弦

double(arg)

转换双精度

exp(arg)

exp 运算(e 的幂)

floor(arg)

fmod

取余(结果为浮点型)

hypot(x,y)

根据直角三角形两直边长度计算出斜边长度

int(arg)

取整

log(arg)

自然对数

log10(arg)

以十为底的对数

pow

幂运算

rand()

取 0 到 1 之间的随机实数数

(无输入参数)

set a [expr 10 * [expr rand()]];0 到 10 之间随

即实数

round(arg)

四舍五入取整数

%set a [expr round(10.5)]; =>11

sin(arg)

sinh(arg)

sqrt(arg)

求二次根

srand(arg)

以整数 arg 为随机数生成器的种子产生随机数

tan(arg)

tanh(arg)

二、incr命令

incr 命令根据指定的步长来增加或减少参数的值。当步长为负时,减少参数值;当步长为正

时,增加参数值。默认步长为+1。

set a 10 ; incr a
=>a=11 set a 10 ; incr a –1
=> a=9

三、字符串函数

命令

描述

append

将值追加到字符串尾

binary

二进制字符串操作

format

字符串格式化

regexp

正则表达式(用于字符串模式匹配)

regsub

用正则表达式进行字符串模式匹配和替换

scan

字符串分解

string options

字符串操作和命令集

subst

字符替代(替代特殊字符)

1.append 命令

append 命令比较简单,它将一段字符串连接到另一字符串尾部从而组成新的字符串。此命令对变量直接修改。

[语法] append varName ?value?

set var1 Hello 

set var2 World 

append var1 $var2
=>HelloWorld puts $var1
=>HelloWorld ;#var1 的内容被更改!

2.format 命令

format 命令和 C 语言中的 printf 和 sprintf 命令类似。它根据一组格式说明来格式化字符串。此命令不会改变被操作字符串的内容。

[语法]format spec value1 value2 ...

spec 变元包含了格式说明关键词和附加文字。使用%来引入一个关键词,后跟 0 个或者多个修饰符,然后使用一个转换格式符结尾。

关键词的基本格式是“%aaaB”:aaa 是修饰符,B 代表一种格式转换符。例如%f 用于将对应位置的参数转化为浮点数。 如果要使用”%”号,则可以使用%%来实现。否则会将%后的字符作为关键词来处理。

 set res [format "%2\$s" 1 5 9]
=>5
%puts $res
=>5
set str [format "%3\$s %1\$s %2\$s" "are" "right" "You"]
=> You are right

最新文章

  1. dvd管理系统
  2. android Gui系统之SurfaceFlinger(4)---Vsync(1)
  3. 单片机与嵌入式 以及ARM DSP FPGA 几个概念的理解
  4. grunt安装失败处理
  5. jQuery获取鼠标移动方向2
  6. 英文版Ubuntu 安装中文输入法
  7. maven ClassNotFoundException: org.springframework.web.context.ContextLoader
  8. (转)Windows重启延迟删除,重命名技术原理
  9. js复习---string
  10. SVN上传项目步骤
  11. pdb调试神器使用终极指南
  12. [转帖]Docker容器CPU、memory资源限制
  13. eclipse软件仿真操作
  14. Ubuntu创建新用户并设置权限
  15. JS 点击元素发ajax请求 打开一个新窗口
  16. Alpha 冲刺二
  17. 你的产品适不适合做微信小程序?你需要这篇产品逻辑分析
  18. 【JVM】jvm至jstack命令
  19. rails跳过回调的方法
  20. Loj10094 消息的传递

热门文章

  1. Linux内核学习方法
  2. 【jquery】 API讲解 内部培训资料
  3. iOS多线程GCD 研究
  4. Ios拦截手机短信程序
  5. IOS 基于APNS消息推送原理与实现(JAVA后台)
  6. JVM内幕:Java虚拟机详解
  7. auto和decltype
  8. github客户端创建仓库
  9. Notes of the scrum meeting(11/1)
  10. .Net webservice动态调用