通用ASP为数字增加千分符处理函数(修正版)
1、说明
在使用时,假设将原来的数字(设为object)增加千分符(正负数都可以)的方法为
comma(ParseStr(object))。 ParseStr处理将任何object转为字符的问题(直接调用comma的话,对于object为空时会出错),comma主要部分来源于网络,但是对其进行了修正,一个是原来对于长整形的处理可能出错,现在统一用CLng转化,另一个是对于负号的处理(原来的函数如果是负数,且数字位数恰好为3的整数倍则会在负号与数字之间多一个“,”)。
2、asp代码如下
function comma(str)
addit=""
if not(isnumeric(str)) or str = 0 then
result = 0
elseif len(fix(str)) < 4 then
result = str
else
if CLng(str)<0 then
str= cstr(abs(CLng(str)))
addit="-"
end if
pos = instr(1,str,".")
if pos > 0 then
dec = mid(str,pos)
end if
res = strreverse(fix(str))
loopcount = 1
while loopcount <= len(res)
tempresult = tempresult + mid(res,loopcount,3)
loopcount = loopcount + 3
if loopcount <= len(res) then
tempresult = tempresult + ","
end if
wend
result = strreverse(tempresult) + dec
end if
comma = addit + result
end function
Function ParseStr(l)
On Error Resume Next
ParseStr = CStr(l)
If Err.Number <> 0 Then
Err.Clear
ParseStr = ""
End If
End Function