一、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

TCL语言笔记:TCL中的数学函数的更多相关文章

  1. Tcl语言笔记之二

    1,表达式 1.1 操作数 TCL表达式的操作数通常是整数或实数.整数一般是十进制的, 但如果整数的第一个字符是0(zero),那么TCL将把这个整数看作八进制的,如果前两个字符是0x则这个整数被看作 ...

  2. TCL语言笔记:TCL基础语法

    一.什么是TCL Tcl 全称是 Tool command Language.它是一个基于字符串的命令语言,基础结构和语法非常简单,易于学习和掌握. Tcl 语言是一个解释性语言,所谓解释性是指不象其 ...

  3. 在C语言结构体中添加成员函数

    我们在使用C语言的结构体时,经常都是只定义几个成员变量,而学过面向对象的人应该知道,我们定义类时,不只是定义了成员变量,还定义了成员方法,而类的结构和结构体非常的相似,所以,为什么不想想如何在C语言结 ...

  4. C++中的数学函数汇总

    math.h 数学函数库,一些数学计算的公式的具体实现是放在math.h里,具体有: 1 三角函数 double sin (double); double cos (double); double t ...

  5. c++中的数学函数

    math.h 数学函数库,一些数学计算的公式的具体实现是放在math.h里,具体有:1 三角函数double sin (double);double cos (double);double tan ( ...

  6. TCL语言笔记:TCL中的数组

    一.介绍 Tcl 中的数组和其他高级语言的数组有些不同:Tcl 数组元素的索引,或称键值,可以是任意的字符串,而且其本身没有所谓多维数组的概念.数组的存取速度要比列表有优势,数组在内部使用散列表来存储 ...

  7. TCL语言笔记:TCL中的控制结构命令

    一.引言 控制结构允许程序根据不同的状态.条件和参数来选择不同的处理和执行路径,从而使代码具有更强的灵活性.健壮性和可读性. Tcl 提供了 if.if/else.if/elseif.foreach. ...

  8. TCL语言笔记:TCL中的列表操作

    一.介绍 列表则是具有特殊解释的字符串.Tcl 中的列表操作和其它 Tcl 命令一样具有相同的结构.列表可应用在诸如 foreach 这样的以列表为变元的循环命令中,也应于构建 eval 命令的延迟命 ...

  9. TCL语言笔记:TCL中的String命令

    一.介绍 字符串是 Tcl 中的基本数据类型,所以有大量的字符串操作命令.一个比较重要的问题就是模式匹配,通过模式匹配将字符串与指定的模式(格式)相匹配来进行字符串的比较.搜索等操作. 二.strin ...

随机推荐

  1. string和json转换的简单应用

    import com.alibaba.fastjson.JSON; String strjson = request.getParameter("param"); //url-js ...

  2. 解析php开发中的中文编码问题

    其实php开发中的中文编码并没有想像的那么复杂,虽然定位和解决问题没有定规,各种运行环境也各不尽然,但后面的原理是一样的. 了解字符集的知识是解决字符问题的基础. PHP程序设计中中文编码问题曾经困扰 ...

  3. Oracle 动态视图6 V$PROCESS

    一.视图包含当前系统oracle运行的所有进程信息.常用于将session与进程(oracle进程,操作系统进程)之间建立联系. Column Datatype Description ADDR RA ...

  4. Python开发【第一篇】Python基础之自定义模块和内置模块

    为什么要有模块,将代码归类.模块,用一砣代码实现了某个功能的代码集合. Python中叫模块,其他语言叫类库. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代 ...

  5. 使用Sass优雅并高效的实现CSS中的垂直水平居中(附带Flex布局,CSS3+SASS完美版)

    实现css水平垂直居中的方法有很多,在这里我简单的说下四种比较常用的方法: 1.使用CSS3中的Flex布局 对于flex,我们要了解的是它是一个display的属性,而且必须要给他的父元素设置fle ...

  6. Error LNK2005 从敌人到朋友

    本人在写学生信息管理系统时遇到一个很头疼的错误——error LNK2005重复定义错误,苦思冥想百度谷歌bing之后都没能解决问题,于一清早刹那间觉得知道问题出在哪儿了,于是乎起床.开机.修改代码一 ...

  7. MySQL Online DDL 工具之pt-online-schema-change

    MySQL DDL:DDL是一个令所有MySQL dDBA 诟病的一个功能,因为在MySQL中在对表进行dDDL时,会锁表,当表比较小比如小于1W行时,对前端影响较小,当时遇到千万级别的表,就会影响前 ...

  8. centos 6.5安装vncserver 并开启远程桌面

    vnc是一款使用广泛的服务器管理软件,可以实现图形化管理,下面简单介绍一下如何在centos6.5下安装vnc. 1.下载vncserver     yum install tigervnc tige ...

  9. 二、有限状态机(FSM)

    1.状态机的作用?是什么? 状态机,顾名思义就是用来描述状态的.完善一点就是在同一的时钟下.更准确说是一种verilogHDL编程思想. 例如我们每一个系统都可以分为好几种状态,如:开始,初始化,运行 ...

  10. verilogHDL设计中的同步时序逻辑

    引用自夏宇闻教授 1.同步时序逻辑: 是指表示状态的寄存器组的值只能在唯一确定的触发条件发生改变. 只能由时钟的正跳变沿或者负跳变沿触发的状态机就是一例,always@(posedge clk). 1 ...