2014年3月7日星期五

double四舍五入并保留两位小数的方法

搜了好多double 保留两位小数的方法,就这个靠谱
转自:http://glblong.blog.51cto.com/3058613/1312340

1.只要输出结果
1
2
double x1 = 0.026;
System.out.println(String.format("%.2f", x1));


2.数据转换
1
2
3
4
5
6
7
8
9
10
11
//方案一:
get_double = (double)(Math.round(result_value*100)/100.0)
//方案二:
DecimalFormat df = new DecimalFormat("#.##");
get_double = Double.ParseDouble(df.format(result_value));
//方案三:
get_double = Double.ParseDouble(String.format("%.2f",result_value));
//方案四:
BigDecimal bd = new BigDecimalresult_value();
BigDecimal  bd2 = bd.setScale(2,BigDecimal  .ROUND_HALF_UP);
get_double = Double.ParseDouble(bd2.ToString());




3.只保留两位小数(不含四舍五入)
1
2
double d = 13.4324;
d=((int)(d*100))/100;

2014年3月6日星期四

终于将webx跑起来了

webx
因为Webx在阿里巴巴和淘宝用了很多年。对于这种超大访问量的电子商务网站,Webx经受了考验,被证明是成熟可靠的
就因为这句话,就得好好研究研究。

通过git clone https://github.com/webx/citrus-sample.git 才能将示例源码下载下来
每个模块单独一个上下文容器
基于Velocity模板
管道 阀门
日志
表单验证
AutoConfig
。。。继续研究

poi读取excel模板展示report

这周一直在研究通过jxls poi读取excel模板,然后动态填充数据,以替换润乾报表
这个主要基于的场景是每个考试有不同的申报表,而每个申报表有很多是死内容,比如注意事项之类,现在基于润乾实现,每个考试都要根据客户给的excel文件做一个raq,然后写sql,调用,申报表是固定的,基本没有扩展。
        最大的难度是读取excel模板并解析样式转换成html显示给考生,读取数据很简单,但合并单元格,单元格样式有点不好控制,现在这个问题基本解决,poi提供了一个toHtml的实例,它的合并单元格是通过css控制边框,修改了css colspan。
       第二个问题是效率问题,通过模板填充数据,效率很低,经同事测试,填充2w条数据,poi直接创建和jxls模板写入是几百毫秒和4秒多的差距。还好申报表一般A4大小,内容相对固定,待实际测试吧。
       要是不行就用velocity代替试试。