CrazyJS,疯狂的JS

vb转大写函数

Function RMBChinese(ByVal Rmb As Double) As String On Error Resume Next Dim Rmbexp As String, Rmbda As String, Expda As String, Lent As Integer, Ntyp As Integer, Icnt As Integer, i As Integer, Trmb As String Rmb = Format(Rmb, “###0.00”) If Rmb > 999999999999.99 Then RMBChinese = “需转换的金额整数长度超过了12位!” Exit Function End If Rmbexp = “分角元拾佰仟万拾佰仟亿拾佰仟” Rmbda = “零壹贰叁肆伍陆柒捌玖” Ntyp = 0 Trmb = Replace(CStr(Format(Rmb, “0.00”)), “.”, “”) If Left(Trmb, 1) = “-”  [...]

将查询结果的某列按指定的符号连接起来 SQL函数 返回字符串

–将查询结果的某列按指定的符号连接起来 –AUTHOR:Mender.Z.J ALTER procedure dbo.getColWithMerg (  @preSymbol   varchar(256),  @tailSymbol   varchar(256),  @colName   varchar(50),  @queryStr   varchar(1024),  @retStr  varchar(8000) output )   as BEGIN  declare @count as decimal; declare @sqlStr as varchar(1000); declare @i as decimal; –declare @retStr as varchar(8000); declare @tt as varchar(255); set @i=1; set @sqlStr=’select ‘+ @colName +’ from (‘+@queryStr+’) as t1′ ; &n [...]

将查询结果的某列按指定的符号连接起来的 sql函数 返回表格

--将查询结果的某列按指定的符号连接起来 --AUTHOR:Mender.Z.J ALTER procedure dbo.getColWithMergForTable ( @preSymbol varchar(256), @tailSymbol varchar(256), @colName varchar(50), @queryStr varchar(1024) ) as BEGIN declare @count as decimal; declare @sqlStr as varchar(1000); declare @i as decimal; declare @retStr as varchar(8000); declare @tt as varchar(255); set @i=1; set @sqlStr='select '+ @colName +' from ('+@queryStr+') as t1' ; if exists(select * from dbo.sysobjects where xtype='U' and name=N'tempAbcdbcad') begin drop table tempAbcdbca [...]

判断是否为工作日的sql函数

-- ============================================= -- Author: 扎俊 -- Create date: 2018-07-18 -- Description: 判断是否为工作日的函数 -- ============================================= ALTER FUNCTION isWeekend ( @Day datetime ) RETURNS bit AS BEGIN -- Declare the return variable here DECLARE @ResultVar bit if datediff(d,'1900-01-01',@Day) % 7 >4 set @ResultVar=1 else set @ResultVar=0 RETURN @ResultVar END

sql序列数据补全函数,如xulieBuquan(‘0′,8,’1524′,1) 返回’00001524’,最大支持256位

sql序列数据补全函数,如xulieBuquan('0',8,'1524',1) 返回'00001524',最大支持256位 SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: zj.mender.yang -- Create date: 2017-11-09 -- Description: 序列数据补全,如xulieBuquan('0',8,'1524',1) 返回'00001524',最大支持256位 -- 参数说明:@symbol ,补全符号序列,最大50位 -- @length ,补全后长度,取值范围0-256 -- @oldStr ,待补全内容,最大支持到256位 -- @where ,补全位置,默认为1,补全到前面,为0时补全到后面 -- ========================================== [...]

获取两段日期相交重合的部分

VB  获取两段日期相交重合的部分 有时候很有用,比如工资结算,承包天数计算、租金计算等等。 一个典型的例子是: 某公司出租某设备,每自然月费用为M元,不足一月按天计费。客户A 于s1时间开始租用该设备,于e1时间停止租用该设备。求,n年m月费用是多少? 解:案例难点在于计算收费设备实际使用的时间, 通过时间线分析可知,实际上就是求使用时间段 和 自然月计费时间段的交集(在该月内使用了多长时间) 即:(s1,e1)和(m月首日,m月末日)  集合的交集。 vb 伪代码: dim d1 as DateArea dim d2 as DateArea d1.s=s1 d1.e=e1 d2.s=cdate(#n-m-01#) d2.e=datedadd(d,-1,Date [...]

算法策略的总结

策略是面向问题的,算法是面向实现的。   一、不同算法策略特点小结 1、贪心策略 贪心策略一方面是求解过程比较简单的算法,另一方面它又是对能适用问题的条件要求最严格(即适用范围很小)的算法。 贪心策略解决问题是按一定顺序,在只考虑当前局部信息的情况下,就做出一定的决策,最终得出问题的解。 即:通过局部最优决策能得到全局最优决策 2、递推策略 递推也是由当前问题的逐步解决从而得到整个问题的解,依赖于信息间本身的递推关系,每一步不需要决策参与到算法中,更多用于计算 3、递归策略 递归常常用于分治算法、动态规划算法中。 递归是利用大问题与其子问题间的递推关系来解决问题的。 能采用递归策略的算法一般有 [...]

五大常用算法之五:分支限界法

分支限界法 一、基本描述 类似于回溯法,也是一种在问题的解空间树T上搜索问题解的算法。但在一般情况下,分支限界法与回溯法的求解目标不同。回溯法的求解目标是找出T中满足约束条件的所有解,而分支限界法的求解目标则是找出满足约束条件的一个解,或是在满足约束条件的解中找出使某一目标函数值达到极大或极小的解,即在某种意义下的最优解。    (1)分支搜索算法 所谓“分支”就是采用广度优先的策略,依次搜索E-结点的所有分支,也就是所有相邻结点,抛弃不满足约束条件的结点,其余结点加入活结点表。然后从表中选择一个结点作为下一个E-结点,继续搜索。 选择下一个E-结点的方式不同,则会有几种不同的分支搜索方式。 1)FIFO搜 [...]

五大常用算法之四:回溯法

1、概念       回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。    回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。      许多复杂的,规模较大的问题都可以使用回溯法,有“通用解题方法”的美称。 2、基本思想    在包含问题的所有解的解空间树中,按照深度优先搜索的策略,从根结点出发深度探索解空间树。当探索到某一结点时,要先判断该结点是否包含问题的解,如 [...]