123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- # -*- coding: UTF-8 -*-
- import decimal,math,time,datetime
- def str2int(strs):
- strr=filter(lambda x:(x.isdigit or x=='-'),str(strs))
- if strr==None:
- return 0
- elif strr=='':
- return 0
- else:
- return int(strr)
- def parseDecimal(strs,totalLen,apart):
- apt=strs.split(".",1)
- if len(apt) == 1:
- return decimal.Decimal(str(str2int(strs)))
- else:
- ipart=str(str2int(apt[0]))
- fpart=str(str2int(apt[1].replace('.','')))
- if(len(fpart)>apart):
- fptx=fpart[:apart]
- fpi=int(fptx)
- if(int(fpart[apart])>4):
- fpi=fpi+1
- else:
- fpi=int(fpart)
- if(len(ipart)>totalLen-apart):
- iptx='9'*(totalLen-apart)
- ipi=int(iptx)
- else:
- ipi=int(ipart)
- return decimal.Decimal(str(ipi)+'.'+str(fpi))
- def CheckPOST(needlist,postkeys):
- for i in needlist:
- if i not in postkeys:
- return i
- return ""
- def MakeSummary(text,length):
- # if len(text.decode('utf8','ignore'))>length:
- # text=text.decode('utf8','ignore')[:length].encode("utf8")+u"..."
- # return text
- if len(text)>length:
- text=text[:length]+u"..."
- return text
- def convertBytes(bytes,lst=['字节', 'KB', 'MB', 'GB', 'TB', 'PB']):
- i = int(math.floor(
- math.log(bytes, 1024)
- ))
- if i >= len(lst):
- i = len(lst) - 1
- return ('%.2f' + " " + lst[i]) % (bytes/math.pow(1024, i))
- def Str2Date(strdate):
- t = time.strptime(strdate,"%Y-%m-%d")
- return datetime.date(t.tm_year,t.tm_mon,t.tm_mday)
|