:通用ASP為數(shù)字增加千分符處理函數(shù)(修正版) 通用ASP為數(shù)字增加千分符處理函數(shù)(修正版)
1、說明
在使用時,假設(shè)將原來的數(shù)字(設(shè)為object)增加千分符(正負(fù)數(shù)都可以)的方法為
comma(ParseStr(object))。 ParseStr處理將任何object轉(zhuǎn)為字符的問題(直接調(diào)用comma的話,對于object為空時會出錯),comma主要部分來源于網(wǎng)絡(luò),但是對其進(jìn)行了修正,一個是原來對于長整形的處理可能出錯,現(xiàn)在統(tǒng)一用CLng轉(zhuǎn)化,另一個是對于負(fù)號的處理(原來的函數(shù)如果是負(fù)數(shù),且數(shù)字位數(shù)恰好為3的整數(shù)倍則會在負(fù)號與數(shù)字之間多一個“,”)。
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
該文章在 2023/8/16 15:29:33 編輯過