页面树结构
转至元数据结尾
转至元数据起始

正在查看旧版本。 查看 当前版本.

与当前比较 查看页面历史

« 前一个 版本 2 下一个 »

公式计算器支持函数和常量

表达式定义在PCCAD中的超级属性块定义、标题栏、明细表、附加栏的定义、以及参数化设计、哑图参数化系统、天河公式计算器中大量地使用。为了帮助用户正确地使用这些功能,下面列出目前版本可支持的函数和常量:

一、算术运算

1.  运算符

1)  左右括号:()

2)  加、减、乘、除:+、-、*、/

3)  乘方:^

2.  常数

1)  圆周率:PI=3.14159265359……

2)  e:exp=2.71828

3.  函数

1)  开方:sqrt(real):real>=0

2)  三角函数:

(1) sin(real)、cos(real):real度,任意实数。

(2) tan(real):real度,任意实数,但不能为90的倍数。

(3) arcsin(real) 、arccos(real):real任意实数,1>=real>=-1。

(4) arctan(real)、ctan(real):real任意实数

3)  对数函数:ln(real)、log(real)

4)  精度运算:

(1) int(real)      例:int(10.05)     返回10

(2) deci(real)      例:deci(10.05)    返回0.05

(3) prec(real, int)       例:prec(10.05, 1)   返回10.1

(4) mod(int1, int2)      例:mod(100, 30)   返回10

5)  阶乘:(int)!                例:(4)!             返回24

二、字符运算

1.  字符串表达式运算的函数

1) StrCase (string, which) 将字符串中的所有字母转换成大写或小写,然后返回修改后的字符串。

参数  String:字符串,被转换的字符串。

which:bool类型,为 Fasle时返回小写。缺省为Ture。

例:StrCase (" adGFCbb", N)                返回:adgfcbb

    StrCase (" abcxyz", T)                 返回:ABCXYZ

T和N是统定义的两个全局常量,分别表示:True 和 Fasle,下同。

2) StrCat ( string1, string2……) 将两个或多个字符串拼接成一个字符串,然后返回新字符串。

参数  String1:被合并的第一个字符串。

String1:被合并的第二个字符串。

……

例:StrCat (" abc", " xyz")                    返回:abcxyz

    StrCat ("φ", " 100")                     返回:φ100

3) StrLen (string) 返回代表字符串中字符数目的整数。

参数  String:字符串。

例:StrLen (" abcxyz")                     返回:6

4) StrSub (string, start, length, which) 返回字符串的子串。

参数  String:字符串。

Start:子串的起始位置。缺省为1。

Length:子串的长度。当length=-1时,从开始处取到字符串的尾部或头部。

which:which =T时,从前往后取子串;which =N时,从后往前取子串。缺省为T。

例:StrSub (" GB70-85 M5X30", 9, –1, T)  或

    StrSub (" GB70-85 M5X30" , 1, 5, N)        返回:M5X30

(1) Left(string, length)相当于StrSub (string, 1, length, T)

(2) Right(string, length)相当于StrSub (string, 1, length, N)

5) StrSubN (string, format, number)  按格式format取得字符串String的第几部分Number。

参数  String:字符串,被转换的字符串。

format:字符串,分隔字符串的子串。

Number:整数,第几部分。

例:StrSubN ("GB70-85 M5X10", " ", 1)         返回"GB70-85"

    StrSubN ("GB70-85 M5X10", " ", 2)         返回”M5X10”

6) StrTrim (character-set, string, which) 从字符串的“开始”或“末尾”位置删除指定的字符串。

参数  character-set: 字符串,列出要被删除的字符。

String:字符串,从中删除 character-set。

Which:=Ture时,删除头部。缺省为T。

例:StrTrim (" \t\n", " \t\n\t\nSTR ", T)         返回:\t\nSTR

    StrTrim (" \t\n", "STR \n\t", N)              返回:STR

7) StrTrimS (string) 把字符串string的“头”和“尾”部的空格删除。

参数  String:字符串。

例:StrTrimS ("    STR      ")                   返回:STR

8) StrMismatch (str1, str2, pos1, pos2, which) 返回两个字符串的最长公共前缀的长度,指定位置的字符。

参数  str1:第一个要匹配的字符串。

str2:第二个要匹配的字符串。

pos1:整数型,从第一个字符串的该处开始搜索。缺省为1

pos2:整数型,从第二个字符串的该处开始搜索。缺省为1

which:如果该参数指定为 T 则不考虑大小写,否则区分大小写。缺省为T。

例:StrMismatch ("VL-FUN", "VL-VAR", 1, 1, T)        返回3

    StrMismatch ("vl-fun", "avl-var", 1, 1, T)             返回0

    StrMismatch ("vl-fun", "avl-var", 1, 2, T)             返回3

    StrMismatch ("VL-FUN", "Vl-vAR", 1, 1, N)          返回1

    StrMismatch ("VL-FUN", "Vl-vAR", 1, 1, T)          返回3

9)StrFind (pattern, string, start-pos) 在字符串中搜索指定的模式。

参数  pattern:字符串,包含要搜索的子串。

      String:字符串,在其中搜索 pattern。

      start-pos:整数型,表示搜索的开始位置。缺省为1。

返回值:整数,表示找到指定 pattern 的位置。如果未找到子串,则返回 -1。

例:StrFind ("foo", "pfooyey on you", 1)              返回2

     StrFind ("who", "pfooyey on you", 1)          返回-1

     StrFind ("foo", "fooey-more-fooey", 2)         返回12

10)StrReplace (new-str, pattern, string, start-pos, all) 用一个字符串替换另一个字符串中的子串。

参数  new-str:字符串,用它来替换 pattern。缺省为“”(空串)

      Pattern:字符串,包含要被替换的字符串。

      String:字符串,在其中查找 pattern。

      start-pos:整数型,标志开始搜索的位置。缺省为1

All:为True时,替换所有的子串;否则,仅替换字符串中第一次出现的子串。缺省为T。

返回值:    完成替换后string的值。

注:搜索是区分大小写的。

例:StrReplace ("Obi-wan", "Ben", "Ben Kenobi")   返回"Obi-wan Kenobi"

    StrReplace ("Obi-wan", "Ben", "ben Kenobi")    返回"ben Kenobi"         (没有进行替换)

    StrReplace ("Obi-wan", "Ben", "Ben Kenobi Ben")   返回"Obi-wan Kenobi Obi-wan "

    StrReplace ("Obi-wan", "Ben", "Ben \"Ben\" Kenobi", 3)   返回"Ben \"Obi-wan\" Kenobi"

(1) StrDelete(pattern, string) 相当于StrReplace (“”, pattern, string, 1, T)

11)StrInsert (string, new-str, pos)  在字符串string指定的位置pos后面插入给定的字符串new-str

    Pos=0时,在第一个字符前插入。Pos>strlen(string)时,插入到字符串的尾部。

三、类型转换

1)R2S (real, pre) 从实数到字符串的转换。

参数  real:实数。

     Pre:整数,精度。-1时全部转换,缺省为-1。

返回值:   字符串。

例:  R2S (10.02, 2)                        返回:   “10.02”

      R2S (0.021, 2)                       返回:   “0.02”

      R2S (0.0213, -1)                      返回:   “0.0213”

2)  S2R (string) 从字符串到实数的转换。

  参数  string :字符串。

  返回值:实数。

  例:  S2R (" 10.02")                         返回: 10.02

        S2R (" A0.021")                        返回: 0

        S2R (" 0.112AB")                       返回: 0.112

        S2R (" 010A")                           返回: 10

四、逻辑运算

1 逻辑运算

1)AND运算符:AND的结果为Ture时返回1,Fasle时返回0。例:(x > 1) AND (x < 2),当2>x >1时,表达式运算结果为1否则为0。

2)OR运算符

3)NOT(EXP)

2 比较运算

1)数值比较:>、>=、=、<=、<、<>

2)字符比较:LIKE、EQUAL

3.IF函数

1)IF(EXP1,EXP2,EXP2):如果EXP1的计算结果非0或非空,则(THEN)返回EXP1的运算结果(数值型);否则(ELSE)返回EXP3的运算结果(数值型)。

2)例如:IF((A > 100),(100*2),(100*3)),当A > 100时结果为:200,否则为300。

4其它

1)支持与其它表达式的混合运算。例:(EXP1 AND EXP2)+(EXP3 AND EXP4)

2)AND、OR等做为运算符时,前后加“空格”分隔。

3)NOT为一元函数。

【注】

a)函数和常量大小写敏感。

b)由于天河公式计算器中正负号的优先级高,所以输入公式时应注意。

如:a-2   可书写为     a^-2,

    -a2   应书写为    -(a^2)  

c)公式计算器目前无法进行大数计算,小数点前后位数不能超过15位。

d)一个汉字占2个字节。

  • 无标签