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