通用ASP为数字增加千分符处理函数(修正版)

通用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

posted @ 2010-09-04 10:13  那年那月  阅读(977)  评论(0编辑  收藏  举报