发表于: 2016-09-20 22:18:17

4 2209


今天完成的事:通过后台实现了对页面指定字段的添加小数位数和减少小数位数的功能

明天计划的事情:明天要来一个做android的新员工,我后面可能要专心开发接口了

遇到的问题:

1.

java 控制double型如何控制有效数字输出位数或精度


方法一使用NumberFormat 类

方法二使用DecimalFormat 类


然后发现使用上面的方法有时候四舍五入不灵


报错:Cannot format given Object as a Number ,


在做double 型数据四舍五入时候遇到的问题,我使用Double 作为参数类型,

然后使用NumberFormat.format(Double)


完成加减小数位数的工作,这里不能使用Double这种包装类型,要使用基本数据类型double,


百度到的四舍五入实现方法


(1)有人想到用先乘以100取整后再除以100.0这种做法:

System.out.println(Math.round(4.015*100)/100.0); 

执行结果为4.01,显然没有达到我们想要的结果。 


(2)那用java.text.DecimalFormat呢? 

System.out.println(new java.text.DecimalFormat("0.00").format(4.015)); 

System.out.println(new java.text.DecimalFormat("0.00").format(4.025)); 

执行结果都为4.02。 


(3)用java.math.BigDecimal. 

Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。 

提供用于执行任意精度整数算法 (BigInteger) 和任意精度小数算法 (BigDecimal) 的类。 

double   abc   =   4.015;   //4.025 

System.out.println(new java.math.BigDecimal(abc).setScale

(2,java.math.BigDecimal.ROUND_HALF_UP).


doubleValue());结果:4.01 (当使用4.025时结果为4.03) 看来还是达不到效果。 


(4)用下面的方法: 

System.out.println(Math.round(4.015*100 + 0.5)/100.0); 


以上是几种没有实现四舍五入的情况,我遇到的情况是和第二种类似


使用Math中的静态方法来实现http://baike.xsoftlab.net/view/38.html

结果出现问题:他会直接精确到小数点后一位


所以采用别的办法来做

http://www.cnblogs.com/hoojo/p/java_round_format_bigdecimal_decimalformat.html


我最后采用了BigDecimal类的方法实现了。

2.

ios接口使用https协议,这个我没有百度到,问了公司其他成员,发现他们的ios和android全是使用统一的接口,没有专门写ios专用的https接口。。。也不知道是项目紧赶不及还是怎么

3.

判断字符串最后一位是否是指定字符使用endwith("要验证的字符")方法

4.

window.print()方法可以打印一个web页面,我做的某个功能要实现类似打印小票的功能,这个需要

尝试下

5.

jsp展示后台传来的map,我自己的想法是使用jsp小脚本来展示,


看到网上http://zhidao.baidu.com/link?url=sMIKBVJFWziVdtNuav7dkdvu-350Y3Givy2l8JWtFziVZqzZG0KyItXy1Q54DmAw-5cVCl7oOdVNw-IgiZJMxyPz-w-MCTUYP6yhF3bQZiS


EL表达式+jstl标准标签库可以实现,可以试一下


还有struts2的jsp标签也可以实现


6.

资源文件中的\u****是unicode编码方式,将中文转换位unicode码,连注释也会解析成unicode码

7.

失血模型:只有属性和getter setter方法

贫血模型:除了属性和getter setter方法,还有不涉及数据库操作的业务逻辑(不知道能不能这样理解)

充血模型:贫血模型+设计到一些涉及到数据库操作的方法(这只是个人理解。。)

在查找这些关键字的时候提到了领域驱动设计

MF(MartinFowler)曾经提出有名的贫血模型或充血模型,他认为实体模型对象中只有弱行为setter和getter方法,没有真正行为,好像缺少血液的人,不和谐了,这个形容感觉挺贴切的,

但是我在工作中只遇到郭失血和贫血模型,使用贫血模型方式构建的实体类小巧便于维护,使用充血模型方式构建的实体类我没有遇到过,所以不是很清楚。

8.

webAppRootKey:它指向了项目的部署路径

引用blog http://www.cnblogs.com/hoojo/p/java_round_format_bigdecimal_decimalformat.html




返回列表 返回列表
评论

    分享到