开心网超级大亨总资产分析
开心网的超级大亨有两个地方可以获得总资产信息

可以通过总资产获得,这时信息是由图片直接拼接而成的。
也可以通过现金+资产获得。这里选择这种方法
为什么这么做呢?因为懒,呵呵
代码
<span style="width:320px;"><b class="f16">总资产:</b><img src="http://img.kaixin001.com.cn/i3/dh/5.gif" /><img src="http://img.kaixin001.com.cn/i3/dh/0.gif" /><img src="http://img.kaixin001.com.cn/i3/dh/9.gif" /><img src="http://img.kaixin001.com.cn/i3/dh/0.gif" /><img src="http://img.kaixin001.com.cn/i3/dh/2.gif" /><img src="http://img.kaixin001.com.cn/i3/dh/9.gif" /> 亿<img src="http://img.kaixin001.com.cn/i3/dh/4.gif" /><img src="http://img.kaixin001.com.cn/i3/dh/1.gif" /><img src="http://img.kaixin001.com.cn/i3/dh/1.gif" /><img src="http://img.kaixin001.com.cn/i3/dh/3.gif" /> 万元 <img src="http://img.kaixin001.com.cn/i3/dh/icon_u.gif" /></span>
这段html虽然通过简单的replace方法就可以过滤为509029亿4113万的信息,但是写的代码太多了.....
来看看咱是怎么做的吧:
代码
var toCurrency = (function() {
var config = {"亿":100000000,"万":10000,"千":1000,"百":100,"拾":10};
return function (str) {
var result = "";
str = $.trim(str.substring(3,str.length -1));
str = str.replace(/\D+/g,function(str){
var t = 1;
for ( var i = 0; i < str.length; i++ ) {
t *= config[str.charAt(i)];
}
return "*" + t + "+";
});
eval("result = " + str + "0;");
return result;
}
})();
var total = 0;
$("#zcsum li b").each(function(){
total += toCurrency($(this).text());
});
alert(total);
戏法人人会变,各有巧妙不同。
咱这个戏法很简单,就是把144397亿113万的形式转变为144397 * 100000000 + 113 * 10000的形式,再利
用强大的eval函数,就可以得到具体金额了。
非常简单吧?
很臭屁的召唤更简单的实现,顺便推荐下这个GreaseMonkey控件http://greasefire.userscripts.org/scripts/review/68518

浙公网安备 33010602011771号