从中行取汇率

发布时间:   来源:文档文库   
字号:
/*
*编写人:符展维
*编写日期:2009.8.6
*函数功能:tool_抓取中国银行网页内容外汇*/
fcodeMap=nullexrateMap=null
readBankEXrateToUdate(
procreadBankEXrateToUdate(fcodeMap=newjava.util.Hashtable(exrateMap=newjava.util.Hashtable(putFcode(content=readBankEXrateInfo(content=getBankEXrateTableInf(contentgetBankEXrateTdInf(contentexrateCalcToUpdate(println(exrateMapendproc
procputFcode(sql="selectfname,fcodefromfcodewherefcode<>''"fcodeMap=snsoft.nbs.BusiPubl.sqlSelectTo(getEnvParams(,null,sql,"%0"fcodeMap.put("日元","日元,JPY".split(","fcodeMap.put("新西兰元","新西兰元,NZD".split(","endproc
procreadBankEXrateInfo(TotalString=""urlbco="http://www.boc.cn/sourcedb/whpj/index.html"urlbco="http://219.141.191.145/sourcedb/whpj/index.html"url=newjava.net.URL(urlbcoconnection=url.openConnection(connection.connect(urlStream=connection.getInputStream(reader=newjava.io.BufferedReader(newjava.io.InputStreamReader(urlStream,"UTF-8"sb=newjava.lang.StringBuilder(while((CurrentLine=reader.readLine(!=nullsb.append(CurrentLine+"\n"endwhileTotalString=sb.toString(readBankEXrateInfo=TotalStringendproc

procgetBankEXrateTableInf(contentcontent=content.substring(content.indexOf("id=\"documentContainer\""content=content.substring(0,content.indexOf(""content=content.substring(content.indexOf(""//println(contentgetBankEXrateTableInf=contentendproc
procgetBankEXrateTdInf(content//012345678title="货币名称,现汇买入价,现钞买入价,卖出价,基准价,中行折算价,发布日期,发布时,-,".split(","content=content.replaceAll("",""//System.out.println(contenttrs=content.split(""n=length(trs//println("-----------n-------------"+nfori=0ton-1//println("-----------tr---------------"//System.out.println(trs[i]trs[i]=trs[i].replaceAll("valign=\"middle\"bgcolor=\"#FFFFFF\"class='nav'>",""tds=trs[i].split(""obj=fcodeMap.get(tds[0].trim(ifobj!=nullxfcode=obj[1]xfcode!=null?exrateMap.put(xfcode,tds:nullendifforj=0tolength(tds-1innerText=""+tds[j]//println(j+"}"+title[j]+"="+innerText.trim(endforendforendproc/*
rexrate=681.76rmb/100
uexrate=(1155.55/(681.76/100/100
brexrate买入价人民币汇率buexrate买入价美元汇率srexrate卖出价人民币汇率suexrate卖出价美元汇率
在每个月的最后一个星期日取中间汇率


(brexrate+srexrate/2得到rexrate的值(buexrate+suexrate/2得到uexrate的值*/
procexrateCalcToUpdate(updateData=newsnsoft.dx.UpdateData(truedata=newjava.util.Hashtable(usdData=exrateMap.get("USD"busd=0susd=0xfdate=nullifusdData!=nullbusd=toNumber(usdData[1]susd=toNumber(usdData[3]xfdate=usdData[6]endif//增加RMB汇率addbyfzw2010-01-04exrateMap.put("RMB",("100,100,100,100,100,100,"+xfdate+",12:00".split(","keyValue=snsoft.busibas.BusiBasPubl.getHashKeyArray(exrateMapn=length(keyValuefori=0ton-1data.clear(key=keyValue[i]value=exrateMap.get(keyifkey!=null&&key!="-"&&value!=nullxrexrate=toNumber(value[1]/100xuexrate=(toNumber(value[1]/(busd/100/100xbrexrate=xrexratexbuexrate=xuexratexsrexrate=toNumber(value[3]/100xsuexrate=(toNumber(value[3]/(susd/100/100xfdate=value[6]if(isLastWeekOfMonth(dateStringxrexrate=(xbrexrate+xsrexrate/2//得到rexratexuexrate=(xbuexrate+xsuexrate/2//得到uexrate的值endifdata.put("fcode",keyxfdate!=null?data.put("fdate",xfdate:nullxrexrate!=null?data.put("rexrate",xrexrate:null

xuexrate!=null?data.put("uexrate",xuexrate:nullxbrexrate!=null?data.put("brexrate",xbrexrate:nullxbuexrate!=null?data.put("buexrate",xbuexrate:nullxsrexrate!=null?data.put("srexrate",xsrexrate:nullxsuexrate!=null?data.put("suexrate",xsuexrate:null//println("-----------data-------------"+dataupdateData.add("fexrate",data,3endifendforsnsoft.nbs.BusiPubl.updateData(getEnvParams(,updateData,trueendproc
//是否当月最后的星期天
procisLastWeekOfMonth(dateString
date1=snsoft.util.DateUtil.toDate(dateStringc=snsoft.util.DateUtil.getStaticCalendars(date1
month1=c.get(java.util.Calendar.MONTH+1//第几月
weekOfMonth=c.get(java.util.Calendar.WEEK_OF_MONTH//第几周
dayOfWeek=c.get(java.util.Calendar.DAY_OF_WEEK//星期几1为周日
if(dayOfWeek!=1||weekOfMonth<4isLastWeekOfMonth=false
elif(weekOfMonth==4&&dayOfWeek==1days=8-dayOfWeek
date2=addDays(date1,days
month2=snsoft.util.DateUtil.getDateMonth(date2isLastWeekOfMonth=month1!=month2
elif(weekOfMonth==5&&dayOfWeek==1isLastWeekOfMonth=trueendif
endproc
procaddDays(date,dayscalendar=snsoft.util.DateUtil.getStaticCalendars(dateday=calendar.get(java.util.Calendar.DAY_OF_YEARcalendar.set(java.util.Calendar.DAY_OF_YEAR,day+dayscc=calendar.getTime(addDays=ccendproc

本文来源:https://www.2haoxitong.net/k/doc/ca8352d784254b35eefd3496.html

《从中行取汇率.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式