ToolGood.Algorithm
ToolGood.Algorithm支持四则运算、Excel函数,并支持自定义参数。
快速上手
AlgorithmEngine engine = new AlgorithmEngine();
double a=0.0;
if (engine.Parse("1+2")) {
a = (double)engine.Evaluate();
}
var c = engine.TryEvaluate("2+3", 0);
var d = engine.TryEvaluate("count({1,2,3,4})", 0);//{}代表数组,返回:4
var s = engine.TryEvaluate("'aa'&'bb'", ""); //字符串连接,返回:aabb
var r = engine.TryEvaluate("(1=1)*9+2", 0); //返回:11
var d = engine.TryEvaluate("'2016-1-1'+1", DateTime.MinValue); //返回日期:2016-1-2
var t = engine.TryEvaluate("'2016-1-1'+9*'1:0'", DateTime.MinValue);//返回日期:2016-1-1 9:0
var j = engine.TryEvaluate("json('{\"Name\":\"William Shakespeare\",\"Age\":51,\"Birthday\":\"04/26/1564 00:00:00\"}').Age", null);//返回51
var k = engine.TryEvaluate("json('{\"Name\":\"William Shakespeare \",\"Age\":51,\"Birthday\":\"04/26/1564 00:00:00\"}').Name.Trim()", null);//返回"William Shakespeare" (不带空格)
var l = engine.TryEvaluate("json('{\"Name1\":\"William Shakespeare \",\"Age\":51,\"Birthday\":\"04/26/1564 00:00:00\"}').('Name'& 1).Trim().substring(2,3)", null); ;//返回"ill"
支持常量pi,e,true,false。
数字转bool,非零为真,零为假。bool转数字,假为0,真为1。
索引默认为Excel索引,如果想用c#索引,请设置UseExcelIndex为false。
自定义参数
//定义圆柱信息
public class Cylinder : AlgorithmEngine
{
private int _radius;
private int _height;
public Cylinder(int radius, int height)
{
_radius = radius;
_height = height;
}
protected override Operand GetParameter(Operand curOpd)
{
if (curOpd.Parameter == "[半径]") {
return new Operand(OperandType.NUMBER, _radius);
}
if (curOpd.Parameter == "[直径]") {
return new Operand(OperandType.NUMBER, _radius * 2);
}
if (curOpd.Parameter == "[高]") {
return new Operand(OperandType.NUMBER, _height);
}
return base.GetParameter(curOpd);
}
}
//调用方法
Cylinder c = new Cylinder(3, 10);
c.TryEvaluate("[半径]*[半径]*pi()", 0.0); //圆底面积
c.TryEvaluate("[直径]*pi()", 0.0); //圆的长
c.TryEvaluate("[半径]*[半径]*pi()*[高]", 0.0); //圆的体积
c.TryEvaluate("p('半径')*[半径]*pi()*[高]", 0.0); //圆的体积参数以方括号定义,如 [参数名]。变量参数可以用p(参数名)。
Excel函数
函数:逻辑函数、数学与三角函数、文本函数、统计函数、日期与时间函数
注:函数名不分大小写,带方括号的参数可省略,示例的返回值,可能为近似值。
逻辑函数
| 函数名 | 说明 | 示例 |
| IF | if(测试条件,真值,[假值]) 执行真假值判断,根据逻辑计算的真假值,返回不同结果。 |
if(1=1,1,2) >>1 |
| IFERROR | ifError(测试条件,真值,[假值]) 如果公式计算出错误则返回您指定的值;否则返回公式结果。 |
iferror(1/0,1,2) >>1 |
| IFNUMBER | ifNumber(测试条件,真值,[假值]) 指定要执行的逻辑检测 |
ifnumber(4,1,2) >>1 |
| IFTEXT | ifText(测试条件,真值,[假值]) 指定要执行的逻辑检测 |
iftext('a',1,2) >>1 |
| ISNUMBER | isNumber(值) 判断是否数字,返回 TRUE 或 FALSE |
ISNUMBER(1) >>true |
| ISTEXT | isText(值) 判断是否文字,返回 TRUE 或 FALSE |
istext('1') >>true |
| AND | and(逻辑值1,...) 如果所有参数均为TRUE,则返回TRUE |
and(1,2=2) >>true |
| OR | or(逻辑值1,...) 如果任一参数为TRUE,则返回TRUE |
or(1,2=3) >>true |
| NOT | not(逻辑值) 对参数的逻辑值求反 |
NOT(true()) >>false |
| TRUE | true() 返回逻辑值TRUE |
true() >>true |
| FALSE | false() 返回逻辑值FALSE |
false() >>false |
数学与三角函数
| 分类 | 函数名 | 说明 | 示例 |
| 基 础 数 学 |
PI | pi() 返回 PI 值 |
pi() >>3.141592654 |
| abs | abs(数字) 返回数字的绝对值 |
abs(-1) >>1 |
|
| QUOTIENT | quotient(除数,被除数) 返回商的整数部分,该函数可用于舍掉商的小数部分。 |
QUOTIENT(7,3) >>2 |
|
| mod | mod(除数,被除数) 返回两数相除的余数 |
MOD(7,3) >>1 |
|
| SIGN | sign(数字) 返回数字的符号。当数字为正数时返回 1,为零时返回 0,为负数时返回 -1。 |
SIGN(-9) >>-1 |
|
| SQRT | sqrt(数字) 返回正平方根 |
SQRT(9) >>3 |
|
| TRUNC | trunc(数字) 将数字截尾取整 |
TRUNC(9.222) >>9 |
|
| int | int(数字) 将数字向下舍入到最接近的整数。 |
int(9.222) >>9 |
|
| gcd | gcd(数字1,...) 返回最大公约数 |
GCD(3,5,7) >>1 |
|
| LCM | lcm(数字1,...) 返回整数参数的最小公倍数 |
LCM(3,5,7) >>105 |
|
| combin | combin(总数,排列数) 计算从给定数目的对象集合中提取若干对象的组合数 |
combin(10,2) >>45 |
|
| PERMUT | permut(总数,排列数) 返回从给定数目的对象集合中选取的若干对象的排列数 |
PERMUT(10,2) >>990 |
|
| 三 角 函 数 |
degrees | degrees(弧度) 将弧度转换为度 |
degrees(pi()) >>180 |
| RADIANS | radians(度) 将度转换为弧度 |
RADIANS(180) >>3.141592654 |
|
| cos | cos(弧度) 返回数字的余弦值 |
cos(1) >>0.540302305868 |
|
| cosh | cosh(弧度) 返回数字的双曲余弦值 |
cosh(1) >>1.54308063481 |
|
| SIN | sin(弧度) 返回给定角度的正弦值 |
sin(1) >>0.84147098480 |
|
| SINH | sinh(弧度) 返回数字的双曲正弦值 |
sinh(1) >>1.1752011936 |
|
| TAN | tan(弧度) 返回数字的正切值 |
tan(1) >>1.55740772465 |
|
| TANH | tanh(弧度) 返回数字的双曲正切值 |
tanh(1) >>0.761594155955 |
|
| acos | acos(数值) 返回数字的反余弦值 |
acos(0.5) >>1.04719755119 |
|
| acosh | acosh(数值) 返回数字的反双曲余弦值 |
acosh(1.5) >>0.962423650119 |
|
| asin | asin(数值) 返回数字的反正弦值 |
asin(0.5) >>0.523598775598 |
|
| asinh | asinh(数值) 返回数字的反双曲正弦值。 |
asinh(1.5) >>1.1947632172 |
|
| atan | atan(数值) 返回数字的反正切值 |
atan(1) >>0.785398163397 |
|
| atanh | atanh(数值) 返回参数的反双曲正切值 |
atanh(1) >>0.549306144334 |
|
| atan2 | atan2(数值) 从X和Y坐标返回反正切 |
atan2(1,2) >>1.10714871779 |
|
| 四 舍 五 入 |
ROUND | round(数值,小数位数) 返回某个数字按指定位数取整后的数字。 |
ROUND(4.333,2) >>4.33 |
| ROUNDDOWN | roundDown(数值,小数位数) 靠近零值,向下(绝对值减小的方向)舍入数字。 |
ROUNDDOWN(4.333,2) >>4.33 |
|
| ROUNDUP | roundUp(数值,小数位数) 远离零值,向上(绝对值增长的方向)舍入数字。 |
ROUNDUP(4.333,2) >>4.34 |
|
| CEILING | ceiling(数值,舍入基数) 向上舍入(沿绝对值增大的方向)为最接近的 舍入基数 的倍数。 |
CEILING(4.333,0.1) >>4.4 |
|
| floor | floor(数值,舍入基数) 向下舍入,使其等于最接近的 Significance 的倍数。 |
FLOOR(4.333,0.1) >>4.3 |
|
| even | even(数值) 返回沿绝对值增大方向取整后最接近的偶数。 |
EVEN(3) >>4 |
|
| ODD | odd(数值) 将数字向上舍入为最接近的奇型整数 |
ODD(3.1) >>5 |
|
| MROUND | mround(数值,舍入基数) 返回一个舍入到所需倍数的数字 |
MROUND(13,5) >>15 |
|
| 随 机 数 |
RAND | rand() 返回 0 到 1 之间的随机数 |
RAND() >>0.2 |
| RANDBETWEEN | randBetween(最小整数,最大整数) 返回大于等于指定的最小值,小于指定最大值之间的一个随机整数。 |
RANDBETWEEN(2,44) >>9 |
|
| 幂 / 对 数 / 阶 乘 |
fact | fact(数值) 返回数的阶乘,一个数的阶乘等于 1*2*3*…* 该数。 |
FACT(3) >>6 |
| factdouble | factDouble(数值) 返回数字的双倍阶乘 |
FACTDOUBLE(10) >>3840 |
|
| POWER | power(数值,幂) 返回数的乘幂结果 |
POWER(10,2) >>100 |
|
| exp | exp(幂) 返回e的指定数乘幂 |
exp(2) >>7.389056099 |
|
| ln | ln(数值) 返回数字的自然对数 |
LN(4) >>1.386294361 |
|
| log | log(数值,[底数]) 返回数字的常用对数,如省略底数,默认为10 |
LOG(100,10) >>2 |
|
| LOG10 | log10(数值) 返回数字的10对数 |
LOG10(100) >>2 |
|
| MULTINOMIAL | multinomial(数值1,...) 返回参数和的阶乘与各参数阶乘乘积的比值 |
MULTINOMIAL(1,2,3) >>60 |
|
| PRODUCT | product(数值1,...) 将所有以参数形式给出的数字相乘,并返回乘积值。 |
PRODUCT(1,2,3,4) >>24 |
|
| SQRTPI | sqrtPi(数值) 返回某数与 PI 的乘积的平方根 |
SQRTPI(3) >>3.069980124 |
|
| SUMSQ | sumQq(数值,...) 返回参数的平方和 |
SUMSQ(1,2) >>5 |
文本函数
| 函数名 | 说明 | 示例 |
| ASC | asc(字符串) 将字符串内的全角英文字母更改为半角字符 |
asc('abcABC123') >>abcABC123 |
| JIS / WIDECHAR | jis(字符串) 将字符串中的半角英文字符更改为全角字符 |
jis('abcABC123') >>abcABC123 |
| CHAR | jis(数值) 返回由代码数字指定的字符 |
char(49) >>1 |
| CLEAN | clean(字符串) 删除文本中所有打印不出的字符 |
clean('\r112\t') >>112 |
| CODE | code(字符串) 返回文本字符串中第一个字符的数字代码 |
CODE("1") >>49 |
| CONCATENATE | concatenate(字符串1,...) 将若干文本项合并到一个文本项中 |
CONCATENATE('tt','11') >>tt11 |
| EXACT | exact(字符串1,字符串2) 检查两个文本值是否完全相同 |
EXACT("11","22") >>false |
| FIND | find(要查找的字符串,被查找的字符串,[开始位置]) 在一文本值内查找另一文本值(区分大小写) |
FIND("11","12221122") >>5 |
| FIXED | fixed(数值,[小数位数],[有无逗号分隔符]) 将数字设置为具有固定小数位的文本格式 |
FIXED(4567.89,1) >>4,567.9 |
| LEFT | left(字符串,[字符个数]) 返回文本值最左边的字符 |
LEFT('123222',3) >>123 |
| LEN | len(字符串) 返回文本字符串中的字符个数 |
LEN('123222') >>6 |
| LOWER | lower(字符串) 将文本转换为小写形式 |
LOWER('ABC') >>abc |
| MID | mid(字符串,开始位置,字符个数) 从文本字符串中的指定位置起返回特定个数的字符 |
MID('ABCDEF',2,3) >>BCD |
| PROPER | proper(字符串) 将文本值中每一个单词的首字母设置为大写 |
PROPER('abc abc') >>Abc Abc |
| REPLACE | replace(原字符串,开始位置,字符个数,新字符串) replace(原字符串,要替换的字符串, 新字符串) 替换文本内的字符 |
REPLACE("abccd",2,3,"2") >>a2d REPLACE("abccd","bc","2") >>a2cd |
| REPT | rept(字符串,重复次数) 按给定次数重复文本 |
REPT("q",3) >>qqq |
| RIGHT | right(字符串,[字符个数]) 返回文本值最右边的字符 |
RIGHT("123q",3) >>23q |
| RMB | rmb(数值) 将数字转换为大写数字文本 |
rmb(12.3) >>壹拾贰元叁角 |
| SEARCH | search(要找的字符串,被查找的字符串,[开始位置]) 在一文本值中查找另一文本值(不区分大小写) |
SEARCH("aa","abbAaddd") >>4 |
| SUBSTITUTE | substitute(字符串,原字符串,新字符串,[替换序号]) 在文本字符串中以新文本替换旧文本 |
SUBSTITUTE("ababcc","ab","12") >>1212cc |
| T | t(数值) 将参数转换为文本 |
T('123') >>123 |
| TEXT | text(数值,数值格式) 设置数字的格式并将数字转换为文本 |
TEXT(123,"0.00") >>123.00 |
| TRIM | trim(字符串) 删除文本中的空格 |
TRIM(" 123 123 ") >>123 123 |
| UPPER | upper(字符串) 将文本转换为大写形式 |
UPPER("abc") >>ABC |
| VALUE | value(字符串) 将文本参数转换为数字 |
VALUE("123") >>123 |
日期与时间函数
| 函数名 | 说明 | 示例 |
| DATEVALUE | dateValue(字符串) 将文本格式的日期转换为序列号 |
DATEVALUE("2017-01-02") >>2017-01-02 |
| TIMEVALUE | timeValue(字符串) 将文本格式的时间转换为序列号 |
TIMEVALUE("12:12:12") >>12:12:12 |
| DATE | date(年,月,日,[时],[分],[秒]) 返回特定日期的序列号 |
DATE(2016,1,1) >>2016-01-01 |
| TIME | time(时,分,秒) 返回特定时间的序列号 |
TIME(12,13,14) >>12:13:14 |
| NOW | now() 返回当前日期和时间的序列号 |
NOW() >>2017-01-07 11:00:00 |
| TODAY | today() 返回今天日期的序列号 |
TODAY() >>2017-01-07 |
| YEAR | year(日期) 将序列号转换为年 |
YEAR(NOW()) >>2017 |
| MONTH | month(日期) 将序列号转换为月 |
MONTH(NOW()) >>1 |
| DAY | day(日期) 将序列号转换为月份中的日 |
DAY(NOW()) >>7 |
| HOUR | hour(日期) 将序列号转换为小时 |
HOUR(NOW()) >>11 |
| MINUTE | minute(日期) 将序列号转换为分钟 |
MINUTE(NOW()) >>12 |
| SECOND | second(日期) 将序列号转换为秒 |
SECOND(NOW()) >>34 |
| WEEKDAY | second(日期) 将序列号转换为星期几 |
WEEKDAY(date(2017,1,7)) >>7 |
| DATEDIF | dateDif(开始日期,结束日期,类型Y/M/D/YD/MD/YM) 返回两个日期之间的相隔天数 |
DATEDIF("1975-1-30","2017-1-7","Y") >>41 |
| DAYS360 | days360(开始日期,结束日期,[选项0/1]) 以一年 360 天为基准计算两个日期间的天数 |
DAYS360('1975-1-30','2017-1-7') >>15097 |
| EDATE | eDate(开始日期,月数) 返回用于表示开始日期之前或之后月数的日期的序列号 |
EDATE("2012-1-31",32) >>2014-09-30 |
| EOMONTH | eoMonth(开始日期,月数) 返回指定月数之前或之后的月份的最后一天的序列号 |
EOMONTH("2012-2-1",32) >>2014-10-31 |
| NETWORKDAYS | netWorkdays(开始日期,结束日期,[假日]) 返回两个日期之间的全部工作日数 |
NETWORKDAYS("2012-1-1","2013-1-1") >>262 |
| WORKDAY | workday(开始日期,天数,[假日]) 返回指定的若干个工作日之前或之后的日期的序列号 |
WORKDAY("2012-1-2",145) >>2012-07-23 |
| WEEKNUM | weekNum(日期,[类型:1/2]) 将序列号转换为一年中相应的周数 |
WEEKNUM("2016-1-3") >>2 |
统计函数
| 函数名 | 说明 | 示例 |
| MAX | max(数值) 返回参数列表中的最大值 |
max(1,2,3,4,2,2,1,4) >>4 |
| MEDIAN | median(数值) 返回给定数字的中值 |
MEDIAN(1,2,3,4,2,2,1,4) >>2 |
| MIN | min(数值) 返回参数列表中的最小值 |
MIN(1,2,3,4,2,2,1,4) >>1 |
| QUARTILE | quartile(数值,四分位:0-4) 返回数据集的四分位数 |
QUARTILE({1,2,3,4,2,2,1,4},0) >>1 |
| MODE | mode(数值1,...) 返回在数组中出现频率最多的数值 |
MODE(1,2,3,4,2,2,1,4) >>2 |
| LARGE | large(数组,K) 返回数据集中第 k 个最大值 |
LARGE({1,2,3,4,2,2,1,4},3) >>3 |
| SMALL | small(数值,K) 返回数据集中第 k 个最小值 |
SMALL({1,2,3,4,2,2,1,4},3) >>2 |
| PERCENTILE | percentile(数值,K) 返回区域中的第 k 个百分位值 |
PERCENTILE({1,2,3,4,2,2,1,4},0.4) >>2 |
| PERCENTRANK | percentRank(数值,K) 返回数据集中值的百分比排位 |
PERCENTRANK({1,2,3,4,2,2,1,4},3) >>0.714 |
| AVERAGE | average(数值1,...) 返回参数的平均值 |
AVERAGE(1,2,3,4,2,2,1,4) >>2.375 |
| AVERAGEIF | averageIf(数值1,...) 返回参数的平均值 |
AVERAGEIF({1,2,3,4,2,2,1,4},'>1') >>2.833333333 |
| GEOMEAN | geoMean(数值1,...) 返回正数数组或区域的几何平均值 |
GEOMEAN(1,2,3,4) >>2.213363839 |
| HARMEAN | harMean(数值1,...) 返回数据集合的调和平均值 |
HARMEAN(1,2,3,4) >>1.92 |
| COUNT | count(数值1,...) 计算参数列表中数字的个数 |
COUNT(1,2,3,4,2,2,1,4) >>8 |
| COUNTIF | countIf(数值1,...) 计算参数列表中数字的个数 |
COUNTIF({1,2,3,4,2,2,1,4},'>1') >>6 |
| SUM | sum(数值1,...) 返回所有数字之和。 |
SUM(1,2,3,4) >>10 |
| SUMIF | sumIf(数值1,...) 返回所有数字之和 |
SUMIF({1,2,3,4,2,2,1,4},'>1') >>17 |
| AVEDEV | aveDev(数值1,...) 返回数据点与其平均值的绝对偏差的平均值 |
AVEDEV(1,2,3,4,2,2,1,4) >>0.96875 |
| STDEV | stDev(数值1,...) 基于样本估算标准偏差 |
STDEV(1,2,3,4,2,2,1,4) >>1.1877349391654208 |
| STDEVP | stDevp(数值1,...) 计算基于整个样本总体的标准偏差 |
STDEVP(1,2,3,4,2,2,1,4) >>1.1110243021644486 |
| DEVSQ | devSq(数值1,...) 返回偏差的平方和 |
DEVSQ(1,2,3,4,2,2,1,4) >>9.875 |
| VAR | var(数值1,...) 基于样本估算方差 |
VAR(1,2,3,4,2,2,1,4) >>1.4107142857142858 |
| VARP | varp(数值1,...) 基于整个样本总体计算方差 |
VARP(1,2,3,4,2,2,1,4) >>1.234375 |
| NORMDIST | normDist(数值,算术平均值,标准偏差,返回类型:0/1) 返回正态累积分布 |
NORMDIST(3,8,4,1) >>0.105649774 |
| NORMINV | normInv(分布概率,算术平均值,标准偏差) 返回反正态累积分布 |
NORMINV(0.8,8,3) >>10.5248637 |
| NormSDist | normSDist(数值) 返回标准正态累积分布函数,该分布的平均值为 0,标准偏差为 1。 |
NORMSDIST(1) >>0.841344746 |
| NORMSINV | normInv(数值) 返回反标准正态累积分布 |
NORMSINV(0.3) >>-0.524400513 |
| BETADIST | betaDist(数值,分布参数α,分布参数β) 返回 Beta 累积分布函数 |
BETADIST(0.5,11,22) >>0.97494877 |
| BETAINV | betaInv(数值,分布参数α,分布参数β) 返回指定 Beta 分布的累积分布函数的反函数 |
BETAINV(0.5,23,45) >>0.336640759 |
| BINOMDIST | binomDist(试验成功次数,试验次数,成功概率,返回类型:0/1) 返回一元二项式分布概率 |
BINOMDIST(12,45,0.5,0) >>0.000817409 |
| EXPONDIST | exponDist(函数值,参数值,返回类型:0/1) 返回指数分布 |
EXPONDIST(3,1,0) >>0.049787068 |
| FDIST | fDist(数值X,分子自由度,分母自由度) 返回 F 概率分布 |
FDIST(0.4,2,3) >>0.701465776 |
| FINV | fInv(分布概率,分子自由度,分母自由度) 返回 F 概率分布的反函数 |
FINV(0.7,2,3) >>0.402651432 |
| FISHER | fisher(数值) 返回点 x 的 Fisher 变换。该变换生成一个正态分布而非偏斜的函数 |
FISHER(0.68) >>0.8291140383 |
| FISHERINV | fisherInv(数值) 返回 Fisher 变换的反函数值。 |
FISHERINV(0.6) >>0.537049567 |
| GAMMADIST | gammaDist(数值,分布参数α,分布参数β,返回类型:0/1) 返回 γ 分布 |
GAMMADIST(0.5,3,4,0) >>0.001723627 |
| GAMMAINV | gammaInv(分布概率,分布参数α,分布参数β) 返回 γ 累积分布函数的反函数 |
GAMMAINV(0.2,3,4) >>6.140176811 |
| GAMMALN | gammaLn(数值) 返回 γ 累积分布函数的反函数 |
GAMMALN(4) >>1.791759469 |
| HYPGEOMDIST | hypgeomDist(样本成功次数,样本容量,样本总体成功次数,样本总体容量) 返回超几何分布 |
HYPGEOMDIST(23,45,45,100) >>0.08715016 |
| LOGINV | logInv(分布概率,算法平均数,标准偏差) 返回 x 的对数累积分布函数的反函数 |
LOGINV(0.1,45,33) >>15.01122624 |
| LognormDist | lognormDist(数值,算法平均数,标准偏差) 返回反对数正态分布 |
LOGNORMDIST(15,23,45) >>0.326019201 |
| NEGBINOMDIST | negbinomDist(失败次数,成功极限次数,成功概率) 返回负二项式分布 |
NEGBINOMDIST(23,45,0.7) >>0.053463314 |
| POISSON | poisson(数值,算法平均数,返回类型:0/1) 返回 Poisson 分布 |
POISSON(23,23,0) >>0.082884384 |
| TDIST | tDist(数值,自由度,返回类型:1/2) 返回学生的 t 分布 |
TDIST(1.2,24,1) >>0.120925677 |
| TINV | tDist(分布概率,自由度) 返回学生的 t 分布的反分布 |
TINV(0.12,23) >>1.614756561 |
| WEIBULL | weibull(数值,分布参数α,分布参数β,返回类型:0/1) 返回 Weibull 分布 |
WEIBULL(1,2,3,1) >>0.105160683 |
增加函数 类C#方法
| 函数名 | 说明 | 示例 |
| UrlEncode | UrlEncode(文本) 对 URL 字符串进行编码。 | |
| UrlDecode | UrlEncode(文本) 将 URL 编码的字符串转换为已解码的字符串。 | |
| HtmlEncode | HtmlEncode(文本) 将字符串转换为 HTML 编码的字符串。 | |
| HtmlDecode | HtmlDecode(文本) 将HTML 编码的字符串转解码。 | |
| Base64ToText | Base64ToText(文本) Base64ToText(文本,编码类型) 将Base64转换为字符串。 | |
| Base64UrlToText | Base64UrlToText(文本) Base64UrlToText(文本,编码类型) 将Url类型的Base64 转换为字符串。 | |
| TextToBase64 | TextToBase64(文本) TextToBase64(文本,编码类型) 将字符串转换为Base64字符串。 | |
| TextToBase64Url | TextToBase64Url(文本) TextToBase64Url(文本,编码类型) 将字符串 转换为Url类型的Base64 字符串。 | |
| Regex | Regex(文本,匹配文本) Regex(文本,匹配文本,索引) Regex(文本,匹配文本,索引,组索引) 并返回匹配的字符串。 | |
| RegexRepalce | RegexRepalce(文本,匹配文本,替换文本) 匹配替换字符串。 | |
| IsRegex IsMatch | IsRegex(文本,匹配文本) IsMatch(文本,匹配文本) 判断是否匹配。 | |
| Guid | Guid() 生成Guid字符串。 | |
| Md5 | Md5(文本) Md5(文本,编码类型) 返回Md5的Hash字符串。 | |
| Sha1 | Sha1(文本) Sha1(文本,编码类型) 返回Sha1的Hash字符串。 | |
| Sha256 | Sha256(文本) Sha256(文本,编码类型) 返回Sha256的Hash字符串。 | |
| Sha512 | Sha512(文本) Sha512(文本,编码类型) 返回Sha512的Hash字符串。 | |
| Crc8 | Crc8(文本) Crc8(文本,编码类型) 返回Crc8的Hash字符串。 | |
| Crc16 | Crc16(文本) Crc16(文本,编码类型) 返回Crc16的Hash字符串。 | |
| Crc32 | Crc32(文本) Crc32(文本,编码类型) 返回Crc32的Hash字符串。 | |
| HmacMd5 | HmacMd5(文本,secret) HmacMd5(文本,secret,编码类型) 返回HmacMd5的Hash字符串。 | |
| HmacSha1 | HmacSha1(文本,secret) HmacSha1(文本,secret,编码类型) 返回HmacSha1的Hash字符串。 | |
| HmacSha256 | HmacSha256(文本,secret) HmacSha256(文本,secret,编码类型) 返回HmacSha256的Hash字符串。 | |
| HmacSha512 | HmacSha512(文本,secret) HmacSha512(文本,secret,编码类型) 返回HmacSha512的Hash字符串。 | |
| TrimStart LTrim | TrimStart(文本) LTrim(文本) LTrim(文本,字符集) 消空字符串左边。 | |
| TrimEnd RTrim | TrimEnd(文本) RTrim(文本) RTrim(文本,字符集) 消空字符串右边。 | |
| IndexOf | IndexOf(文本,查找文本) IndexOf(文本,查找文本,开始位置) IndexOf(文本,查找文本,开始位置,索引) 查找字符串位置。 | |
| LastIndexOf | LastIndexOf(文本,查找文本) LastIndexOf(文本,查找文本,开始位置) LastIndexOf(文本,查找文本,开始位置,索引) 查找字符串位置。 | |
| Split | Split(文本,分隔符) 生成数组 Split(文本,分隔符,索引) 返回分割后索引指向的字符串。 | |
| Join | Join(文本1,文本2....) 合并字符串。 | |
| Substring | Substring(文本,位置) Substring(文本,位置,数量) 切割字符串。 | |
| StartsWith | StartsWith(文本,开始文本) StartsWith(文本,开始文本,是否忽略大小写:1/0) 确定此字符串实例的开头是否与指定的字符串匹配。 | |
| EndsWith | EndsWith(文本,开始文本) EndsWith(文本,开始文本,是否忽略大小写:1/0) 确定使用指定的比较选项进行比较时此字符串实例的结尾是否与指定的字符串匹配。 | |
| IsNullOrEmpty | IsNullOrEmpty(文本) 指示指定的字符串是 null 还是 空字符串。 | |
| IsNullOrWhiteSpace | IsNullOrWhiteSpace(文本) 指示指定的字符串是 null、空还是仅由空白字符组成。 | |
| ToUpper | ToUpper(文本) 将文本转换为大写形式。 | |
| ToLower | ToLower(文本) 将文本转换为小写形式。 | |
| RemoveStart | RemoveStart(文本,左边文本) 匹配左边,成功则去除左边字符串。 | |
| RemoveEnd | RemoveEnd(文本,右边文本) 匹配右边,成功则去除右边字符串。 | |
| RemoveBoth | RemoveBoth(文本,左边文本,右边文本,同时匹配:0/1(默认0)) 匹配方式, 匹配左边,成功则去除左边字符串。匹配右边,成功则去除右边字符串。 | |
| json | json(文本) 动态json查询。 | |
| tryjson | tryjson(文本) 尝试转为json,再查询。 | |
| P param | P(文本) 动态查询参数。 |
推荐一款儿童教育小程序《宝宝计分板》,《宝宝计分板》采用积分奖惩制度,量化奖励、惩罚,给孩子一个明确可实现的目标,孩子通过做家务、练字、画画、学唱歌、跑步等任务来获得积分,达到足够积分就可以兑换奖品。
《宝宝计分板》符合以下几个教育心理学,(1)、奖励和惩罚(强化动机理论),(2)、表扬和鼓励(纠正动机、形成目标),(3)、多学多练(从量变到质变),(4)、延迟满足(提升自我控制能力),(5)细化小目标(目标越明确,越容易实现),(6)批评不翻旧账(减少二次伤害)。
