我们通常所用的补法是:循环补足
例如:
要将一个字符补足10位,前面用0填充,我们通常所用的方法是:
for i = 1 to 10-len(string)
string="0" & string
next
后补同样
前天有个小弟问我一个变态的补足位,每个字符串要补足100万位 他循环一下就疯掉了,他是用VB的,于是我给他写了个函数
代码很简单,只是这个方法很少有人想到,想想写程序时想想方法真是挺好玩的事情
'########################################
'# 字符补位函数
'#参数说明:AddLocation 0为前补 1为后补
'#参数说明:SourceString 源字符串
'#参数说明:TargetCharacter 补位字符
'#参数说明:MaxLen 目标长度
'########################################
'# 20:18 2009-9-1
'########################################
Function CharAdd(AddLocation,SourceString,TargetCharacter,MaxLen)
Select case trim(AddLocation)
case "0"
Target=Replace(Space(MaxLen)," ",TargetCharacter) & SourceString
CharAdd=Right(Target,MaxLen)
case "1"
Target=SourceString & Replace(Space(MaxLen)," ",TargetCharacter)
CharAdd=Left(Target,MaxLen)
case else
Target=SourceString & Replace(Space(MaxLen)," ",TargetCharacter)
CharAdd=Left(Target,MaxLen)
End select
End Function
这段东西的精华就在于space replace left right函数的应用