Skip to content

支持四则运算、Excel函数,并支持自定义参数。

License

Notifications You must be signed in to change notification settings

zhoujianxiong/ToolGood.Algorithm

 
 

Repository files navigation

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#索引,请设置UseExcelIndexfalse

自定义参数

    //定义圆柱信息
    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函数

函数:逻辑函数数学与三角函数文本函数统计函数日期与时间函数

注:函数名不分大小写,带方括号的参数可省略,示例的返回值,可能为近似值。

逻辑函数

函数名说明示例
IFif(测试条件,真值,[假值])
执行真假值判断,根据逻辑计算的真假值,返回不同结果。
if(1=1,1,2)
>>1
IFERRORifError(测试条件,真值,[假值])
如果公式计算出错误则返回您指定的值;否则返回公式结果。
iferror(1/0,1,2)
>>1
IFNUMBERifNumber(测试条件,真值,[假值])
指定要执行的逻辑检测
ifnumber(4,1,2)
>>1
IFTEXTifText(测试条件,真值,[假值])
指定要执行的逻辑检测
iftext('a',1,2)
>>1
ISNUMBERisNumber(值)
判断是否数字,返回 TRUE 或 FALSE
ISNUMBER(1)
>>true
ISTEXTisText(值)
判断是否文字,返回 TRUE 或 FALSE
istext('1')
>>true
ANDand(逻辑值1,...)
如果所有参数均为TRUE,则返回TRUE
and(1,2=2)
>>true
ORor(逻辑值1,...)
如果任一参数为TRUE,则返回TRUE
or(1,2=3)
>>true
NOTnot(逻辑值)
对参数的逻辑值求反
NOT(true())
>>false
TRUEtrue()
返回逻辑值TRUE
true()
>>true
FALSEfalse()
返回逻辑值FALSE
false()
>>false

数学与三角函数

分类函数名说明示例






PIpi()
返回 PI 值
pi()
>>3.141592654
absabs(数字)
返回数字的绝对值
abs(-1)
>>1
QUOTIENTquotient(除数,被除数)
返回商的整数部分,该函数可用于舍掉商的小数部分。
QUOTIENT(7,3)
>>2
modmod(除数,被除数)
返回两数相除的余数
MOD(7,3)
>>1
SIGNsign(数字)
返回数字的符号。当数字为正数时返回 1,为零时返回 0,为负数时返回 -1。
SIGN(-9)
>>-1
SQRTsqrt(数字)
返回正平方根
SQRT(9)
>>3
TRUNCtrunc(数字)
将数字截尾取整
TRUNC(9.222)
>>9
intint(数字)
将数字向下舍入到最接近的整数。
int(9.222)
>>9
gcdgcd(数字1,...)
返回最大公约数
GCD(3,5,7)
>>1
LCMlcm(数字1,...)
返回整数参数的最小公倍数
LCM(3,5,7)
>>105
combincombin(总数,排列数)
计算从给定数目的对象集合中提取若干对象的组合数
combin(10,2)
>>45
PERMUTpermut(总数,排列数)
返回从给定数目的对象集合中选取的若干对象的排列数
PERMUT(10,2)
>>990






degreesdegrees(弧度)
将弧度转换为度
degrees(pi())
>>180
RADIANSradians(度)
将度转换为弧度
RADIANS(180)
>>3.141592654
coscos(弧度)
返回数字的余弦值
cos(1)
>>0.540302305868
coshcosh(弧度)
返回数字的双曲余弦值
cosh(1)
>>1.54308063481
SINsin(弧度)
返回给定角度的正弦值
sin(1)
>>0.84147098480
SINHsinh(弧度)
返回数字的双曲正弦值
sinh(1)
>>1.1752011936
TANtan(弧度)
返回数字的正切值
tan(1)
>>1.55740772465
TANHtanh(弧度)
返回数字的双曲正切值
tanh(1)
>>0.761594155955
acosacos(数值)
返回数字的反余弦值
acos(0.5)
>>1.04719755119
acoshacosh(数值)
返回数字的反双曲余弦值
acosh(1.5)
>>0.962423650119
asinasin(数值)
返回数字的反正弦值
asin(0.5)
>>0.523598775598
asinhasinh(数值)
返回数字的反双曲正弦值。
asinh(1.5)
>>1.1947632172
atanatan(数值)
返回数字的反正切值
atan(1)
>>0.785398163397
atanhatanh(数值)
返回参数的反双曲正切值
atanh(1)
>>0.549306144334
atan2atan2(数值)
从X和Y坐标返回反正切
atan2(1,2)
>>1.10714871779






ROUNDround(数值,小数位数)
返回某个数字按指定位数取整后的数字。
ROUND(4.333,2)
>>4.33
ROUNDDOWNroundDown(数值,小数位数)
靠近零值,向下(绝对值减小的方向)舍入数字。
ROUNDDOWN(4.333,2)
>>4.33
ROUNDUProundUp(数值,小数位数)
远离零值,向上(绝对值增长的方向)舍入数字。
ROUNDUP(4.333,2)
>>4.34
CEILINGceiling(数值,舍入基数)
向上舍入(沿绝对值增大的方向)为最接近的 舍入基数 的倍数。
CEILING(4.333,0.1)
>>4.4
floorfloor(数值,舍入基数)
向下舍入,使其等于最接近的 Significance 的倍数。
FLOOR(4.333,0.1)
>>4.3
eveneven(数值)
返回沿绝对值增大方向取整后最接近的偶数。
EVEN(3)
>>4
ODDodd(数值)
将数字向上舍入为最接近的奇型整数
ODD(3.1)
>>5
MROUNDmround(数值,舍入基数)
返回一个舍入到所需倍数的数字
MROUND(13,5)
>>15




RANDrand()
返回 0 到 1 之间的随机数
RAND()
>>0.2
RANDBETWEENrandBetween(最小整数,最大整数)
返回大于等于指定的最小值,小于指定最大值之间的一个随机整数。
RANDBETWEEN(2,44)
>>9


/





/



factfact(数值)
返回数的阶乘,一个数的阶乘等于 1*2*3*…* 该数。
FACT(3)
>>6
factdoublefactDouble(数值)
返回数字的双倍阶乘
FACTDOUBLE(10)
>>3840
POWERpower(数值,幂)
返回数的乘幂结果
POWER(10,2)
>>100
expexp(幂)
返回e的指定数乘幂
exp(2)
>>7.389056099
lnln(数值)
返回数字的自然对数
LN(4)
>>1.386294361
loglog(数值,[底数])
返回数字的常用对数,如省略底数,默认为10
LOG(100,10)
>>2
LOG10log10(数值)
返回数字的10对数
LOG10(100)
>>2
MULTINOMIALmultinomial(数值1,...)
返回参数和的阶乘与各参数阶乘乘积的比值
MULTINOMIAL(1,2,3)
>>60
PRODUCTproduct(数值1,...)
将所有以参数形式给出的数字相乘,并返回乘积值。
PRODUCT(1,2,3,4)
>>24
SQRTPIsqrtPi(数值)
返回某数与 PI 的乘积的平方根
SQRTPI(3)
>>3.069980124
SUMSQsumQq(数值,...)
返回参数的平方和
SUMSQ(1,2)
>>5

文本函数

函数名说明示例
ASCasc(字符串)
将字符串内的全角英文字母更改为半角字符
asc('abcABC123')
>>abcABC123
JIS / WIDECHARjis(字符串)
将字符串中的半角英文字符更改为全角字符
jis('abcABC123')
>>abcABC123
CHARjis(数值)
返回由代码数字指定的字符
char(49)
>>1
CLEANclean(字符串)
删除文本中所有打印不出的字符
clean('\r112\t')
>>112
CODEcode(字符串)
返回文本字符串中第一个字符的数字代码
CODE("1")
>>49
CONCATENATEconcatenate(字符串1,...)
将若干文本项合并到一个文本项中
CONCATENATE('tt','11')
>>tt11
EXACTexact(字符串1,字符串2)
检查两个文本值是否完全相同
EXACT("11","22")
>>false
FINDfind(要查找的字符串,被查找的字符串,[开始位置])
在一文本值内查找另一文本值(区分大小写)
FIND("11","12221122")
>>5
FIXEDfixed(数值,[小数位数],[有无逗号分隔符])
将数字设置为具有固定小数位的文本格式
FIXED(4567.89,1)
>>4,567.9
LEFTleft(字符串,[字符个数])
返回文本值最左边的字符
LEFT('123222',3)
>>123
LENlen(字符串)
返回文本字符串中的字符个数
LEN('123222')
>>6
LOWERlower(字符串)
将文本转换为小写形式
LOWER('ABC')
>>abc
MIDmid(字符串,开始位置,字符个数)
从文本字符串中的指定位置起返回特定个数的字符
MID('ABCDEF',2,3)
>>BCD
PROPERproper(字符串)
将文本值中每一个单词的首字母设置为大写
PROPER('abc abc')
>>Abc Abc
REPLACE replace(原字符串,开始位置,字符个数,新字符串)
replace(原字符串,要替换的字符串, 新字符串)
替换文本内的字符
REPLACE("abccd",2,3,"2")
>>a2d
REPLACE("abccd","bc","2")
>>a2cd
REPTrept(字符串,重复次数)
按给定次数重复文本
REPT("q",3)
>>qqq
RIGHTright(字符串,[字符个数])
返回文本值最右边的字符
RIGHT("123q",3)
>>23q
RMBrmb(数值)
将数字转换为大写数字文本
rmb(12.3)
>>壹拾贰元叁角
SEARCHsearch(要找的字符串,被查找的字符串,[开始位置])
在一文本值中查找另一文本值(不区分大小写)
SEARCH("aa","abbAaddd")
>>4
SUBSTITUTEsubstitute(字符串,原字符串,新字符串,[替换序号])
在文本字符串中以新文本替换旧文本
SUBSTITUTE("ababcc","ab","12")
>>1212cc
Tt(数值)
将参数转换为文本
T('123')
>>123
TEXTtext(数值,数值格式)
设置数字的格式并将数字转换为文本
TEXT(123,"0.00")
>>123.00
TRIMtrim(字符串)
删除文本中的空格
TRIM(" 123 123 ")
>>123 123
UPPERupper(字符串)
将文本转换为大写形式
UPPER("abc")
>>ABC
VALUEvalue(字符串)
将文本参数转换为数字
VALUE("123")
>>123

日期与时间函数

函数名说明示例
DATEVALUEdateValue(字符串)
将文本格式的日期转换为序列号
DATEVALUE("2017-01-02")
>>2017-01-02
TIMEVALUEtimeValue(字符串)
将文本格式的时间转换为序列号
TIMEVALUE("12:12:12")
>>12:12:12
DATEdate(年,月,日,[时],[分],[秒])
返回特定日期的序列号
DATE(2016,1,1)
>>2016-01-01
TIMEtime(时,分,秒)
返回特定时间的序列号
TIME(12,13,14)
>>12:13:14
NOWnow()
返回当前日期和时间的序列号
NOW()
>>2017-01-07 11:00:00
TODAYtoday()
返回今天日期的序列号
TODAY()
>>2017-01-07
YEARyear(日期)
将序列号转换为年
YEAR(NOW())
>>2017
MONTHmonth(日期)
将序列号转换为月
MONTH(NOW())
>>1
DAYday(日期)
将序列号转换为月份中的日
DAY(NOW())
>>7
HOURhour(日期)
将序列号转换为小时
HOUR(NOW())
>>11
MINUTEminute(日期)
将序列号转换为分钟
MINUTE(NOW())
>>12
SECONDsecond(日期)
将序列号转换为秒
SECOND(NOW())
>>34
WEEKDAYsecond(日期)
将序列号转换为星期几
WEEKDAY(date(2017,1,7))
>>7
DATEDIFdateDif(开始日期,结束日期,类型Y/M/D/YD/MD/YM)
返回两个日期之间的相隔天数
DATEDIF("1975-1-30","2017-1-7","Y")
>>41
DAYS360days360(开始日期,结束日期,[选项0/1])
以一年 360 天为基准计算两个日期间的天数
DAYS360('1975-1-30','2017-1-7')
>>15097
EDATEeDate(开始日期,月数)
返回用于表示开始日期之前或之后月数的日期的序列号
EDATE("2012-1-31",32)
>>2014-09-30
EOMONTHeoMonth(开始日期,月数)
返回指定月数之前或之后的月份的最后一天的序列号
EOMONTH("2012-2-1",32)
>>2014-10-31
NETWORKDAYSnetWorkdays(开始日期,结束日期,[假日])
返回两个日期之间的全部工作日数
NETWORKDAYS("2012-1-1","2013-1-1")
>>262
WORKDAYworkday(开始日期,天数,[假日])
返回指定的若干个工作日之前或之后的日期的序列号
WORKDAY("2012-1-2",145)
>>2012-07-23
WEEKNUMweekNum(日期,[类型:1/2])
将序列号转换为一年中相应的周数
WEEKNUM("2016-1-3")
>>2

统计函数

函数名说明示例
MAXmax(数值)
返回参数列表中的最大值
max(1,2,3,4,2,2,1,4)
>>4
MEDIANmedian(数值)
返回给定数字的中值
MEDIAN(1,2,3,4,2,2,1,4)
>>2
MINmin(数值)
返回参数列表中的最小值
MIN(1,2,3,4,2,2,1,4)
>>1
QUARTILEquartile(数值,四分位:0-4)
返回数据集的四分位数
QUARTILE({1,2,3,4,2,2,1,4},0)
>>1
MODEmode(数值1,...)
返回在数组中出现频率最多的数值
MODE(1,2,3,4,2,2,1,4)
>>2
LARGElarge(数组,K)
返回数据集中第 k 个最大值
LARGE({1,2,3,4,2,2,1,4},3)
>>3
SMALLsmall(数值,K)
返回数据集中第 k 个最小值
SMALL({1,2,3,4,2,2,1,4},3)
>>2
PERCENTILEpercentile(数值,K)
返回区域中的第 k 个百分位值
PERCENTILE({1,2,3,4,2,2,1,4},0.4)
>>2
PERCENTRANKpercentRank(数值,K)
返回数据集中值的百分比排位
PERCENTRANK({1,2,3,4,2,2,1,4},3)
>>0.714
AVERAGEaverage(数值1,...)
返回参数的平均值
AVERAGE(1,2,3,4,2,2,1,4)
>>2.375
AVERAGEIFaverageIf(数值1,...)
返回参数的平均值
AVERAGEIF({1,2,3,4,2,2,1,4},'>1')
>>2.833333333
GEOMEANgeoMean(数值1,...)
返回正数数组或区域的几何平均值
GEOMEAN(1,2,3,4)
>>2.213363839
HARMEANharMean(数值1,...)
返回数据集合的调和平均值
HARMEAN(1,2,3,4)
>>1.92
COUNTcount(数值1,...)
计算参数列表中数字的个数
COUNT(1,2,3,4,2,2,1,4)
>>8
COUNTIFcountIf(数值1,...)
计算参数列表中数字的个数
COUNTIF({1,2,3,4,2,2,1,4},'>1')
>>6
SUMsum(数值1,...)
返回所有数字之和。
SUM(1,2,3,4)
>>10
SUMIFsumIf(数值1,...)
返回所有数字之和
SUMIF({1,2,3,4,2,2,1,4},'>1')
>>17
AVEDEVaveDev(数值1,...)
返回数据点与其平均值的绝对偏差的平均值
AVEDEV(1,2,3,4,2,2,1,4)
>>0.96875
STDEVstDev(数值1,...)
基于样本估算标准偏差
STDEV(1,2,3,4,2,2,1,4)
>>1.1877349391654208
STDEVPstDevp(数值1,...)
计算基于整个样本总体的标准偏差
STDEVP(1,2,3,4,2,2,1,4)
>>1.1110243021644486
DEVSQdevSq(数值1,...)
返回偏差的平方和
DEVSQ(1,2,3,4,2,2,1,4)
>>9.875
VARvar(数值1,...)
基于样本估算方差
VAR(1,2,3,4,2,2,1,4)
>>1.4107142857142858
VARPvarp(数值1,...)
基于整个样本总体计算方差
VARP(1,2,3,4,2,2,1,4)
>>1.234375
NORMDISTnormDist(数值,算术平均值,标准偏差,返回类型:0/1)
返回正态累积分布
NORMDIST(3,8,4,1)
>>0.105649774
NORMINVnormInv(分布概率,算术平均值,标准偏差)
返回反正态累积分布
NORMINV(0.8,8,3)
>>10.5248637
NormSDistnormSDist(数值)
返回标准正态累积分布函数,该分布的平均值为 0,标准偏差为 1。
NORMSDIST(1)
>>0.841344746
NORMSINVnormInv(数值)
返回反标准正态累积分布
NORMSINV(0.3)
>>-0.524400513
BETADISTbetaDist(数值,分布参数α,分布参数β)
返回 Beta 累积分布函数
BETADIST(0.5,11,22)
>>0.97494877
BETAINVbetaInv(数值,分布参数α,分布参数β)
返回指定 Beta 分布的累积分布函数的反函数
BETAINV(0.5,23,45)
>>0.336640759
BINOMDISTbinomDist(试验成功次数,试验次数,成功概率,返回类型:0/1)
返回一元二项式分布概率
BINOMDIST(12,45,0.5,0)
>>0.000817409
EXPONDISTexponDist(函数值,参数值,返回类型:0/1)
返回指数分布
EXPONDIST(3,1,0)
>>0.049787068
FDISTfDist(数值X,分子自由度,分母自由度)
返回 F 概率分布
FDIST(0.4,2,3)
>>0.701465776
FINVfInv(分布概率,分子自由度,分母自由度)
返回 F 概率分布的反函数
FINV(0.7,2,3)
>>0.402651432
FISHERfisher(数值)
返回点 x 的 Fisher 变换。该变换生成一个正态分布而非偏斜的函数
FISHER(0.68)
>>0.8291140383
FISHERINVfisherInv(数值)
返回 Fisher 变换的反函数值。
FISHERINV(0.6)
>>0.537049567
GAMMADISTgammaDist(数值,分布参数α,分布参数β,返回类型:0/1)
返回 γ 分布
GAMMADIST(0.5,3,4,0)
>>0.001723627
GAMMAINVgammaInv(分布概率,分布参数α,分布参数β)
返回 γ 累积分布函数的反函数
GAMMAINV(0.2,3,4)
>>6.140176811
GAMMALNgammaLn(数值)
返回 γ 累积分布函数的反函数
GAMMALN(4)
>>1.791759469
HYPGEOMDISThypgeomDist(样本成功次数,样本容量,样本总体成功次数,样本总体容量)
返回超几何分布
HYPGEOMDIST(23,45,45,100)
>>0.08715016
LOGINVlogInv(分布概率,算法平均数,标准偏差)
返回 x 的对数累积分布函数的反函数
LOGINV(0.1,45,33)
>>15.01122624
LognormDistlognormDist(数值,算法平均数,标准偏差)
返回反对数正态分布
LOGNORMDIST(15,23,45)
>>0.326019201
NEGBINOMDISTnegbinomDist(失败次数,成功极限次数,成功概率)
返回负二项式分布
NEGBINOMDIST(23,45,0.7)
>>0.053463314
POISSONpoisson(数值,算法平均数,返回类型:0/1)
返回 Poisson 分布
POISSON(23,23,0)
>>0.082884384
TDISTtDist(数值,自由度,返回类型:1/2)
返回学生的 t 分布
TDIST(1.2,24,1)
>>0.120925677
TINVtDist(分布概率,自由度)
返回学生的 t 分布的反分布
TINV(0.12,23)
>>1.614756561
WEIBULLweibull(数值,分布参数α,分布参数β,返回类型:0/1)
返回 Weibull 分布
WEIBULL(1,2,3,1)
>>0.105160683

增加函数 类C#方法

函数名说明示例
UrlEncodeUrlEncode(文本)
对 URL 字符串进行编码。
UrlDecodeUrlEncode(文本)
将 URL 编码的字符串转换为已解码的字符串。
HtmlEncodeHtmlEncode(文本)
将字符串转换为 HTML 编码的字符串。
HtmlDecodeHtmlDecode(文本)
将HTML 编码的字符串转解码。
Base64ToTextBase64ToText(文本)
Base64ToText(文本,编码类型)
将Base64转换为字符串。
Base64UrlToTextBase64UrlToText(文本)
Base64UrlToText(文本,编码类型)
将Url类型的Base64 转换为字符串。
TextToBase64TextToBase64(文本)
TextToBase64(文本,编码类型)
将字符串转换为Base64字符串。
TextToBase64UrlTextToBase64Url(文本)
TextToBase64Url(文本,编码类型)
将字符串 转换为Url类型的Base64 字符串。
RegexRegex(文本,匹配文本)
Regex(文本,匹配文本,索引)
Regex(文本,匹配文本,索引,组索引)
并返回匹配的字符串。
RegexRepalceRegexRepalce(文本,匹配文本,替换文本)
匹配替换字符串。
IsRegex
IsMatch
IsRegex(文本,匹配文本)
IsMatch(文本,匹配文本)
判断是否匹配。
GuidGuid()
生成Guid字符串。
Md5Md5(文本)
Md5(文本,编码类型)
返回Md5的Hash字符串。
Sha1Sha1(文本)
Sha1(文本,编码类型)
返回Sha1的Hash字符串。
Sha256Sha256(文本)
Sha256(文本,编码类型)
返回Sha256的Hash字符串。
Sha512Sha512(文本)
Sha512(文本,编码类型)
返回Sha512的Hash字符串。
Crc8Crc8(文本)
Crc8(文本,编码类型)
返回Crc8的Hash字符串。
Crc16Crc16(文本)
Crc16(文本,编码类型)
返回Crc16的Hash字符串。
Crc32Crc32(文本)
Crc32(文本,编码类型)
返回Crc32的Hash字符串。
HmacMd5HmacMd5(文本,secret)
HmacMd5(文本,secret,编码类型)
返回HmacMd5的Hash字符串。
HmacSha1HmacSha1(文本,secret)
HmacSha1(文本,secret,编码类型)
返回HmacSha1的Hash字符串。
HmacSha256HmacSha256(文本,secret)
HmacSha256(文本,secret,编码类型)
返回HmacSha256的Hash字符串。
HmacSha512HmacSha512(文本,secret)
HmacSha512(文本,secret,编码类型)
返回HmacSha512的Hash字符串。
TrimStart
LTrim
TrimStart(文本)
LTrim(文本)
LTrim(文本,字符集)
消空字符串左边。
TrimEnd
RTrim
TrimEnd(文本)
RTrim(文本)
RTrim(文本,字符集)
消空字符串右边。
IndexOfIndexOf(文本,查找文本)
IndexOf(文本,查找文本,开始位置)
IndexOf(文本,查找文本,开始位置,索引)
查找字符串位置。
LastIndexOfLastIndexOf(文本,查找文本)
LastIndexOf(文本,查找文本,开始位置)
LastIndexOf(文本,查找文本,开始位置,索引)
查找字符串位置。
SplitSplit(文本,分隔符)
生成数组
Split(文本,分隔符,索引)
返回分割后索引指向的字符串。
JoinJoin(文本1,文本2....)
合并字符串。
SubstringSubstring(文本,位置)
Substring(文本,位置,数量)
切割字符串。
StartsWithStartsWith(文本,开始文本)
StartsWith(文本,开始文本,是否忽略大小写:1/0)
确定此字符串实例的开头是否与指定的字符串匹配。
EndsWithEndsWith(文本,开始文本)
EndsWith(文本,开始文本,是否忽略大小写:1/0)
确定使用指定的比较选项进行比较时此字符串实例的结尾是否与指定的字符串匹配。
IsNullOrEmptyIsNullOrEmpty(文本)
指示指定的字符串是 null 还是 空字符串。
IsNullOrWhiteSpaceIsNullOrWhiteSpace(文本)
指示指定的字符串是 null、空还是仅由空白字符组成。
ToUpperToUpper(文本)
将文本转换为大写形式。
ToLowerToLower(文本)
将文本转换为小写形式。
RemoveStartRemoveStart(文本,左边文本)
匹配左边,成功则去除左边字符串。
RemoveEndRemoveEnd(文本,右边文本)
匹配右边,成功则去除右边字符串。
RemoveBothRemoveBoth(文本,左边文本,右边文本,同时匹配:0/1(默认0))
匹配方式, 匹配左边,成功则去除左边字符串。匹配右边,成功则去除右边字符串。
jsonjson(文本)
动态json查询。
tryjsontryjson(文本)
尝试转为json,再查询。
P
param
P(文本)
动态查询参数。

推荐一款儿童教育小程序《宝宝计分板》,《宝宝计分板》采用积分奖惩制度,量化奖励、惩罚,给孩子一个明确可实现的目标,孩子通过做家务、练字、画画、学唱歌、跑步等任务来获得积分,达到足够积分就可以兑换奖品。

宝宝计分板

《宝宝计分板》符合以下几个教育心理学,(1)、奖励和惩罚(强化动机理论),(2)、表扬和鼓励(纠正动机、形成目标),(3)、多学多练(从量变到质变),(4)、延迟满足(提升自我控制能力),(5)细化小目标(目标越明确,越容易实现),(6)批评不翻旧账(减少二次伤害)。

About

支持四则运算、Excel函数,并支持自定义参数。

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 100.0%