feat(tsl-api-reference): add class and framework API lookup

This commit is contained in:
csh
2026-08-20 13:49:55 +08:00
parent 7233646398
commit 651c1f68d2
637 changed files with 25498 additions and 36673 deletions
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,262 @@
# 基础函数 / 日期时间
## `endOfTheHalfYear(end_t)`
声明:function
返回Endt所在半年的截止日期(半年的最后一天)
<!-- tags: 返回 获取 -->
| 参数 | 类型 | 说明 |
| ------- | --------- | ---- |
| `end_t` | tdatetime | 日期 |
返回:tdatetime
### 示例
```tsl
end_t := 40540; // 40540表示2010年12月28日
return endOfTheHalfYear (end_t);
// 输出:40543 40543表示2010年12月31号
```
## `endOfTheQuarter(end_t)`
声明:function
返回Endt所在季度的截止日期(季度的最后一天)
<!-- tags: 返回 获取 -->
| 参数 | 类型 | 说明 |
| ------- | --------- | ---- |
| `end_t` | tdatetime | 日期 |
返回:tdatetime
### 示例
```tsl
end_t := 40540; // 40540表示2010年12月28日
return endOfTheQuarter (end_t);
// 输出:40543 40543表示2010年12月31号
```
## `excelDateToInt(r_date)`
声明:function
将日期型报告期转化成整数型报告期
| 参数 | 类型 | 说明 |
| -------- | --------- | ------------ |
| `r_date` | tdatetime | 日期型报告期 |
返回:integer
### 示例
```tsl
r_date := 20101231;
return excelDateToInt(r_date);
// 输出:20101231
```
## `excelIntToDate(r_date)`
声明:function
将报告期类型日期转化成实数型
| 参数 | 类型 | 说明 |
| -------- | ------- | ------------------ |
| `r_date` | integer | 整型类的报告期日期 |
返回:tdatetime
### 示例
```tsl
// 报告期为2010年年报
r_date := 20101231;
return excelIntToDate(r_date);
// 输出:40543
```
## `excelRDate(r_date)`
声明:function
将整数报告期转换成Excel的字符串日期类型
<!-- tags: 转换 编码 -->
| 参数 | 类型 | 说明 |
| -------- | ------- | -------------------------- |
| `r_date` | integer | 报告期,一般用整型日期表示 |
返回:string
### 示例
```tsl
r_date := 20101231;
return excelRDate(r_date);
// 输出:2010-12-31
```
## `formatStrToDateTime2(s, format_str)`
声明:function
格式化字符串->日期时间(包含毫秒)
<!-- tags: 格式化 format -->
| 参数 | 类型 | 说明 |
| ------------ | ------ | ---------------------- |
| `s` | string | 字符串类型,时间字符串 |
| `format_str` | string | 字符串类型,格式字符串 |
返回:datetime
### 示例
```tsl
// 字符串2021-8-12 10:31:24:199 转换为日期时间格式(包含毫秒)
s := "2021.01.04T23:00:00.000";
format_str := "yyyy.mm.ddThh:nn:ss.zzz";
return formatStrToDateTime2(s, format_str); // 输出:44200.9583333333
```
## `incHalfYear(a_value, number)`
声明:function
求Avalue的日期开始往后推移Number个半年的日期
| 参数 | 类型 | 说明 |
| --------- | --------- | -------------------------------- |
| `a_value` | tdatetime | 实数表示的日期 |
| `number` | integer | 向后推移的整数,负数表示向前推移 |
返回:tdatetime
### 示例
```tsl
avalue := 40179; // 40179表示2010年1月1号
number := 2;
return incHalfYear(a_value, number);
// 输出:40544 40544表示2011年1月1号
```
## `incQuarter(avalue, number)`
声明:function
求Avalue的日期开始往后推移Number个季度的日期
| 参数 | 类型 | 说明 |
| -------- | --------- | ---------------------------------- |
| `avalue` | tdatetime | 实数表示的日期 |
| `number` | integer | 向后推移的整数。负数表示向前推移。 |
返回:tdatetime
### 示例
```tsl
avalue := 40179; // 40179表示2010年1月1号
number := 2;
return incQuarter(a_value, number);
// 输出:40360 40360表示2010年7月1号
```
## `startOfTheHalfYear(end_t)`
声明:function
返回Endt所在半年的开始日期(半年的第一天)
<!-- tags: 返回 获取 -->
| 参数 | 类型 | 说明 |
| ------- | --------- | ---- |
| `end_t` | tdatetime | 日期 |
返回:tdatetime
### 示例
```tsl
end_t := 40599; // 40559表示2011年1月16号
return startOfTheHalfYear(end_t);
// 输出:40544 40544表示2011年1月1号
```
## `startOfTheQuarter(end_t)`
声明:function
返回Endt所在季度的开始日期(季度的第一天)
<!-- tags: 返回 获取 -->
| 参数 | 类型 | 说明 |
| ------- | --------- | ---- |
| `end_t` | tdatetime | 日期 |
返回:tdatetime
### 示例
```tsl
end_t := 40540; // 40540表示2010年12月28日
return startOfTheQuarter (end_t);
// 输出:40452 40452表示2010年10月1号
```
## `strToDateExt(s, str_format)`
声明:function
将字符串类型的日期按照不同的格式转换成实数型的日期
| 参数 | 类型 | 说明 |
| ------------ | ------- | ------------------------------------------ |
| `s` | string | 字符串类型的日期,包含3中形式,见下表。 |
| `str_format` | integer | 标准化的日期格式,对应的S分别用0、1、2表示 |
返回:tdatetime
### 示例
```tsl
s := '16/1/2011';
str_format := 0;
return strToDateExt(s, str_format);
// 输出:40559
```
## `strtodatetime2(s)`
声明:function
字符串->日期时间(包含毫秒)
| 参数 | 类型 | 说明 |
| ---- | ------ | -------------------------------------------------------------------------------------------------------------- |
| `s` | string | S的格式必须为:yyyy-m-d h:m:s:z    其中日期和时间需要用空格隔开,时间分隔必须用:    如"2021-8-12 10:31:24:199" |
返回:tdatetime
### 示例
```tsl
// 字符串2021-8-12 10:31:24:199 转换为日期时间格式(包含毫秒)
s := "2021-8-12 10:31:24:199";
return strtodatetime2(s); // 输出:44420.4384745255
```
@@ -0,0 +1,180 @@
# 基础函数 / 数字
## `dataisequal(v1, v2)`
声明:function
判断2个变量是否相等
<!-- tags: 判断 检查 -->
| 参数 | 类型 | 说明 |
| ---- | ---- | -------------- |
| `v1` | any | 任意类型,变量1 |
| `v2` | any | 任意类型,变量2 |
返回:bool
### 示例
```tsl
echo dataisequal(array("code": "A"), array("code": "A"));
```
## `divValue(v1, v2)`
声明:function
除法运算
| 参数 | 类型 | 说明 |
| ---- | ---- | ------------ |
| `v1` | real | 实数,被除数 |
| `v2` | real | 实数,除数 |
返回:real
### 示例
```tsl
return divValue(8, 2);
// 输出:4
```
## `floatN(r, n)`
声明:function
使用银行家算法进行四舍五入,精确到10Adigit位。"四舍六入五考虑,五后非零就进一,五后皆零看奇偶,五前为偶应舍去,五前为奇要进一"
| 参数 | 类型 | 说明 |
| ---- | ------- | ------------------------ |
| `r` | real | 实数 |
| `n` | integer | 整型数据,保留的小数位数 |
返回:real
### 示例
```tsl
return floatN(12.6578, 2);
// 输出:12.66
```
## `floatToStrEx(r, n)`
声明:function
浮点->字符串
| 参数 | 类型 | 说明 |
| ---- | ------- | ------------------------ |
| `r` | real | 实数 |
| `n` | integer | 整型数据,保留的小数位数 |
返回:string
### 示例
```tsl
return floatToStrEx (12.6578, 2);
// 输出: 12.66
```
## `formatFloatExt(v, dtype)`
声明:function
格式化输出-数字
<!-- tags: 格式化 format -->
| 参数 | 类型 | 说明 |
| ------- | ------- | ---------- |
| `v` | real | 实数 |
| `dtype` | integer | 数据的格式 |
返回:string
### 示例
范例01:按指定格式输出数字
```tsl
return formatFloatExt(12345.67, 1);
// 输出: 12,345.67
```
范例02:输入不是数字时返回占位符
```tsl
return formatFloatExt("123");
// 输出: -
```
## `roundTo5(v)`
声明:function
.5处理
| 参数 | 类型 | 说明 |
| ---- | ---- | ---- |
| `v` | real | 实数 |
返回:real
### 示例
```tsl
return roundTo5(0.35);
// 输出:0.5
```
## `simpleRoundTo2(avalue, adigit)`
声明:function
四舍五入(交易所规则),正负数不对称,即四舍六入,五向较大的数进位(正负有别,如保留一位小数时+0.05)
| 参数 | 类型 | 说明 |
| -------- | ------- | -------------- |
| `avalue` | Real | 实数数据 |
| `adigit` | Integer | 精确到Adigit位 |
返回:Real
### 示例
范例01:保留两位小数的正数
```tsl
return simpleRoundTo2(1234.56789654, -2);
// 输出:1234.57
```
范例02:保留两位小数的负数
```tsl
return simpleRoundTo2(-1234.5658965, -2);
// 输出:-1234.56
```
## `webZero(v)`
声明:function
Web中显示零处理,当数值为0或者空字符串的时候显示为空字符串,其他情况显示其值本身
| 参数 | 类型 | 说明 |
| ---- | -------------- | ------------ |
| `v` | integer/string | 任意类型的值 |
返回:string
### 示例
```tsl
return webZero(0);
// 输出:空字符串
```
@@ -0,0 +1,676 @@
# 基础函数 / 字符串
## `toHttpPostdata(v, data_mode)`
声明:function
根据数据模式转换为字符串格式
<!-- tags: 转换 编码 -->
| 参数 | 类型 | 说明 |
| ----------- | ------ | ------------------------------------ |
| `v` | any | 待转换的数据 |
| `data_mode` | string | 数据模式,支持 `json``tslstream` |
返回:string
### 示例
```tsl
value := array("Type": 1, "IDs": array("SZ000001"), "SUBs": array("date_s", "price"));
echo toHttpPostdata(value, "json");
// 输出:{"Type":1,"IDs":["SZ000001"],"SUBs":["date_s","price"]}
```
## `dateStrToArr(end_dates, sep1, sep2)`
声明:function
把日期区间字符串转换为列表
<!-- tags: 转换 编码 -->
| 参数 | 类型 | 说明 |
| ----------- | ------ | -------------------- |
| `end_dates` | string | 日期区间字符串 |
| `sep1` | string | 日期区间字符串分割符 |
| `sep2` | string | 开始和截止日期分割符 |
返回:array
### 示例
```tsl
return dateStrToArr('2007-9-10;2007-9-10', '$', ';'); // 输出:'$'表示结束位置
```
## `floatToStrne(value)`
声明:function
将实数转换成字符串类型。和FloatToStr的区别:在处理浮点数据时,FloatToStrne的结果不会输出为1E15等格式
<!-- tags: 转换 编码 -->
| 参数 | 类型 | 说明 |
| ------- | ---- | ---- |
| `value` | real | 实数 |
返回:string
### 示例
范例01:转换普通浮点数
```tsl
return floatToStrne(23.4);
// 输出:"23.4"
```
范例02:转换大数量级浮点数
```tsl
return floatToStrne(1E15);
// 输出:"1000000000000000"
```
## `floatToStrneW(value)`
声明:function
将实数转换成宽字节字符串类型。和FloatToStrW的区别:在处理大数量级数据(如1E15、10^15等)时,FloatToStrneW的结果不会输出为1E15等格式
<!-- tags: 转换 编码 -->
| 参数 | 类型 | 说明 |
| ------- | ---- | ---- |
| `value` | real | 实数 |
返回:string
### 示例
范例01:转换普通浮点数
```tsl
return floatToStrneW(1234.1234);
// 输出:L"1234.1234"
```
范例02:转换大数量级浮点数
```tsl
return floatToStrneW(1E15);
// 输出:L"1000000000000000"
```
## `formatStrExt(s)`
声明:function
判断字符串是否是字符串,不是字符串的显示为"-"
<!-- tags: 判断 检查 -->
| 参数 | 类型 | 说明 |
| ---- | ------ | ------ |
| `s` | string | 字符串 |
返回:string
### 示例
范例01:输入字符串
```tsl
return formatStrExt('aaaaa');
// 输出:aaaaa
```
范例02:输入不是字符串时返回占位符
```tsl
return formatStrExt(123);
// 输出:-
```
## `fuzzyCompare(_type, s1, s2)`
声明:function
根据指定算法,计算两字符串的相似性
<!-- tags: 计算 求解 -->
| 参数 | 类型 | 说明 |
| ------- | ------- | ------------------------------------ |
| `_type` | integer | 模糊匹配算法类型,支持如下几种算法: |
| `s1` | string | 字符串1 |
| `s2` | string | 字符串2 |
返回:real
### 示例
```tsl
// 使用Jaccard相似度算法,计算字符串"kitten"和"sitting"的相似性
return fuzzyCompare(fzJaccard(), "kitten", "sitting"); // 等价于FuzzyCompare(2,"kitten","sitting")
// 输出:0.222222222222222
```
## `fuzzyCompareEx(_type, s1, s2, n, nret)`
声明:function
根据指定算法,计算两字符串的相似性
<!-- tags: 计算 求解 -->
| 参数 | 类型 | 说明 |
| ------- | ------- | ---------------------------------------------------------------------------------- |
| `_type` | integer | 模糊匹配算法类型,支持如下几种算法: |
| `s1` | string | 字符串1 |
| `s2` | string | 字符串2 |
| `n` | integer | 仅指定算法为FzJaccard、FzCosine、FzSimHash时,该参数有效;其对应含义和默认值如下: |
| `nret` | integer | 输出值;指定不同的算法时,其对应含义如下: |
返回:real
### 示例
```tsl
// 使用Jaccard相似度算法,指定切分字符长度为1,计算字符串"kitten"和"sitting"的相似性
t := fuzzyCompareEx(fzJaccard(), "kitten", "sitting", 1, nret);
return array(t, nret);
// t值为相似性,nret值为两字符串切分后交集中元素个数,返回值为array(0.428571428571429,3)
```
## `fzCosine()`
声明:function
Cosine(余弦相似度)算法类型:将字符串根据指定长度n(默认值为2)划分为两个字符集合,将字符集合转换为向量,计算两向量夹角的余弦值
返回:integer
### 示例
范例一:FuzzyCompare相似性计算,字符切分长度为2
```tsl
return fuzzyCompare(fzCosine(), "kitten", "sitting");
// 输出:0.365148371670111
```
范例二:FuzzyCompareEx相似性计算,指定字符切分长度为1
```tsl
return fuzzyCompareEx(fzCosine(), "kitten", "sitting", 1, nret);
// 输出:0.746202507244636
// 算法对比解析:
// FuzzyCompare:字符切分长度为2,字符串"kitten"切分后的集合为:{ki, it, tt, te, en}"sitting"{si, it, tt, ti, in, ng};转换成向量分别为:[1, 1, 1, 1, 1, 0, 0, 0, 0]、[0, 1, 1, 0, 0, 1, 1, 1, 1],代入算法中,计算出的相似度为0.365148371670111
// FuzzyCompareEx:字符切分长度为1,字符串"kitten"切分后的集合为:{k, i, t, e, n}"sitting"{s, i, t, n, g},转换成向量分别为:[1, 1, 2, 1, 1, 0, 0]、[0, 2, 2, 0, 1, 1, 1],代入算法中,计算出的相似度为0.746202507244636
```
## `fzEditDistance()`
声明:function
基于编辑距离(Edit Distance)的模糊匹配算法,核心是计算将一个字符串转换为另一个字符串所需的最小编辑操作次数,允许的操作包含插入、删除、替换三类
返回:integer
### 示例
范例一:FuzzyCompare相似性计算
```tsl
return fuzzyCompare(fzEditDistance(), "kitten", "sitting");
// 输出:0.571428571428571
```
范例一:FuzzyCompareEx相似性计算
```tsl
t := fuzzyCompareEx(fzEditDistance(), "kitten", "sitting", n, nret);
return array(t, nret);
// 输出:array(0.571428571428571,3)
// 算法对比解析:
// 字符串"kitten"转换为"sitting"需要3步(k->se->i,添加g),字符串总长度7,相似度为1-3/7=4/7(即0.571428571428571
```
## `fzHammingDistance()`
声明:function
Hamming Distance(汉明距离)算法类型:计算两字符串对应位置上不同字符的数量
返回:integer
### 示例
范例一:FuzzyCompare相似性计算
```tsl
return fuzzyCompare(fzHammingDistance(), "kitten", "sitting");
// 输出:0.571428571428571
```
范例二:FuzzyCompareEx相似性计算
```tsl
t := fuzzyCompareEx(fzHammingDistance(), "kitten", "sitting", n, nret);
return array(t, nret);
// 输出:array(0.571428571428571,3)
// 算法对比解析:
// 字符串"kitten"、"sitting"对应位置上不同的字符有3处(k->s, e->i, g),字符串总长度为7,相似度为1-3/7=4/7(即0.571428571428571
```
## `fzJaccard()`
声明:function
Jaccard相似度算法类型:将字符串根据指定长度n(默认值为2)划分为两个字符集合,计算两集合交集元素个数与并集元素个数的比值
返回:integer
### 示例
范例一:FuzzyCompare相似性计算,字符切分长度为2
```tsl
return fuzzyCompare(fzJaccard(), "kitten", "sitting");
// 输出:0.222222222222222
```
范例二:FuzzyCompareEx相似性计算,指定字符切分长度为1
```tsl
t := fuzzyCompareEx(fzJaccard(), "kitten", "sitting", 1, nret);
return array(t, nret);
// 输出:array(0.428571428571429,3)
// 算法对比解析:
// FuzzyCompare:字符切分长度为2,字符串"kitten"切分后的集合为:{ki, it, tt, te, en}"sitting"为:{si, it, tt, ti, in, ng};交集:{it, tt},并集:{ki, it, tt, te, en, si, ti, in, ng},相似度为2/9(即0.222222222222222
// FuzzyCompareEx:指定字符切分长度为1,字符串"kitten"切分后的集合为:{k, i, t, e, n}"sitting"为:{s, i, t, n, g},交集:{i, t, n},并集:{k, i, t, e, n, s, g},相似度为3/7(即0.428571428571429
```
## `fzJaroWinkler()`
声明:function
Jaro-Winkler距离算法类型:先统计两字符串的匹配字符数与换位次数,并代入Jaro距离算法公式,得到相似度,再根据两字符串的公共前缀长度给予额外加权,得到最终的相似度
返回:integer
### 示例
范例一:FuzzyCompare相似性计算
```tsl
return fuzzyCompare(fzJaroWinkler(), "kitten", "sitting");
// 输出:0.746031746031746
```
范例二:FuzzyCompareEx相似性计算
```tsl
return fuzzyCompareEx(fzJaroWinkler(), "kitten", "sitting", n, nret);
// 输出:0.746031746031746
```
## `fzLongestSequnce()`
声明:function
Longest Sequnce(最长公共子序列)算法类型:找出两字符串中顺序相同但不必连续的最长子序列
返回:integer
### 示例
范例一:FuzzyCompare相似性计算
```tsl
return fuzzyCompare(fzLongestSequnce(), "kitten", "sitting");
// 输出:0.571428571428571
```
范例二:FuzzyCompareEx相似性计算
```tsl
t := fuzzyCompareEx(fzLongestSequnce(), "kitten", "sitting", n, nret);
return array(t, nret);
// 输出:array(0.571428571428571,4)
// 算法对比解析:
// 字符串"kitten"、"sitting"中顺序相同但不必连续的最长子序列为"ittn",字符串总长度为7,相似度为4/7(即0.571428571428571
```
## `fzLongestSubstring()`
声明:function
Longest Substring(最长公共子串)算法类型:找出两字符串中连续出现的最长相同子串
返回:integer
### 示例
范例一:FuzzyCompare相似性计算
```tsl
return fuzzyCompare(fzLongestSubstring(), "kitten", "sitting");
// 输出:0.428571428571429
```
范例二:FuzzyCompareEx相似性计算
```tsl
t := fuzzyCompareEx(fzLongestSubstring(), "kitten", "sitting", n, nret);
return array(t, nret);
// 输出:array(0.428571428571429,3)
// 算法对比解析:
// 字符串"kitten"、"sitting"中连续出现的最长相同子串为"itt",字符串总长度为7,相似度为3/7(即0.428571428571429
```
## `fzSimHash()`
声明:function
SimHash(局部敏感哈希)算法类型:对字符串分词并计算加权哈希生成二进制指纹,比较两个指纹间的对应位置上不同字符的数量
返回:integer
### 示例
范例一:FuzzyCompare相似性计算,特征词数量为3
```tsl
return fuzzyCompare(fzSimHash(), "kitten", "sitting");
// 输出:0.640625
```
范例二:FuzzyCompareEx相似性计算,特征词数量为1
```tsl
t := fuzzyCompareEx(fzSimHash(), "kitten", "sitting", 1, nret);
return array(t, nret);
// 输出:array(0.921875,5)
```
## `getPyStringList()`
声明:function
获取汉字拼音首字母对照表
<!-- tags: 获取 查询 -->
返回:tslobj
### 示例
```tsl
sl := getPyStringList();
return sl.values("明");
// 输出:M
```
## `hztoPy(hz)`
声明:function
汉字翻译为拼音
| 参数 | 类型 | 说明 |
| ---- | ------ | ----------- |
| `hz` | string | String 汉字 |
返回:string
### 示例
范例01:转换第一个词组
```tsl
return hztoPy("华夏优势");
// 输出:HXYS
```
范例02:转换多音字词组
```tsl
return hztoPy("华夏盛势");
// 输出:HXCS HXSS
```
## `letters(vlaue, ul)`
声明:function
将数字与在字符串进行对照转换。基本用法同R的letters。在超出26的时候,仿excel的列名的规则提取。用于将excel数字列名转为字符串列名:1->'A'
<!-- tags: 转换 编码 -->
| 参数 | 类型 | 说明 |
| ------- | ------- | ----------------------- |
| `vlaue` | integer | 整数。正整数列名 |
| `ul` | integer | 整数。是否大写,默认为1 |
返回:string/array
### 示例
```tsl
return letters(1, 0);
// 输出:a
```
## `parseRegExpr3(s, reg_from_text, to_text, parse_ctrls)`
声明:function
直接返回输出的正则表达式解析
<!-- tags: 解析 parse -->
| 参数 | 类型 | 说明 |
| --------------- | ------ | -------------------------------- |
| `s` | string | 字符串。源串 |
| `reg_from_text` | string | 字符串。待替换的部分,正则表达式 |
| `to_text` | string | 字符串。替换的字符串 |
| `parse_ctrls` | string | 字符串。正则表达式控制串 |
返回:string
### 示例
```tsl
return parseRegExpr3("abcdeak", "ab", "kkkk", "ir");
// 输出:kkkkcdeak
```
## `rDateStrToArr(rdate_list)`
声明:function
把报告期字符串转换为列表
<!-- tags: 转换 编码 -->
| 参数 | 类型 | 说明 |
| ------------ | ------ | ------------------------------------------ |
| `rdate_list` | string | 字符串,报告期字符串,多个报告期以分号区分 |
返回:array
### 示例
```tsl
return rDateStrToArr('20070331;20070630');
```
## `replaceStrByReg(s, reg_from_text, to_text)`
声明:function
正则表达式快速字符串替换,大小写敏感
| 参数 | 类型 | 说明 |
| --------------- | ------ | -------------------------------- |
| `s` | string | 字符串。源串 |
| `reg_from_text` | string | 字符串。待替换的部分,正则表达式 |
| `to_text` | string | 字符串。替换的字符串 |
返回:string
### 示例
```tsl
return replaceStrByReg("abcdeak", "A", "kkkk");
// 输出:abcdeak
```
## `replaceTextByReg(s, reg_from_text, to_text)`
声明:function
正则表达式快速字符串替换,大小写不敏感
| 参数 | 类型 | 说明 |
| --------------- | ------ | -------------------------------- |
| `s` | string | 字符串。源串 |
| `reg_from_text` | string | 字符串。待替换的部分,正则表达式 |
| `to_text` | string | 字符串。替换的字符串 |
返回:string
### 示例
```tsl
return replaceTextByReg("abcdeak", "a", "kkkk");
// 输出:kkkkbcdekkkkk
```
## `seprateStrToTotal(s)`
声明:function
把用;分割的字符串转换为#分割
<!-- tags: 转换 编码 -->
| 参数 | 类型 | 说明 |
| ---- | ------ | ------ |
| `s` | string | 字符串 |
返回:string
### 示例
```tsl
return seprateStrToTotal('债券型;现金型;配置型;股票型;保本型');
// 输出:债券型#现金型#配置型#股票型#保本型
```
## `spaceByNumber(n)`
声明:function
生成N个空格字符串
| 参数 | 类型 | 说明 |
| ---- | ------- | ---- |
| `n` | integer | 整数 |
返回:string
### 示例
```tsl
return write('---', spaceByNumber(2), '---');
// 运行信息打印结果:
```
## `tostring(v)`
声明:function
将数值转成字符串类型
<!-- tags: 转换 编码 -->
| 参数 | 类型 | 说明 |
| ---- | ------ | ---- |
| `v` | number | 数值 |
返回:string
### 示例
```tsl
echo tostring(123.45);
```
## `totalStrToSeprate(s)`
声明:function
把用#分割的字符串转换为;分割
<!-- tags: 转换 编码 -->
| 参数 | 类型 | 说明 |
| ---- | ------ | ------ |
| `s` | string | 字符串 |
返回:string
### 示例
```tsl
return totalStrToSeprate ('债券型#现金型#配置型#股票型#保本型');
// 输出:债券型;现金型;配置型;股票型;保本型
```
## `tryLowercase(s)`
声明:function
将字符串S转换成小写并返回,不抛出异常,转换失败时返回""
<!-- tags: 转换 编码 -->
| 参数 | 类型 | 说明 |
| ---- | ------ | --------------- |
| `s` | string | 字符串,原字符串 |
返回:string
### 示例
```tsl
return tryUppercase("ABC");
// 输出:"abc"
```
## `tryUppercase(s)`
声明:function
将字符串S转换成大写并返回,不抛出异常,转换失败时返回""
<!-- tags: 转换 编码 -->
| 参数 | 类型 | 说明 |
| ---- | ------ | --------------- |
| `s` | string | 字符串,原字符串 |
返回:string
### 示例
```tsl
return tryUppercase("abc");
// 输出:"ABC"
```