易截截图软件、单文件、免安装、纯绿色、仅160KB

【转】Java double 相加的怪事情

(本文转载自:http://hi.baidu.com/edilyxin/blog/item/27dc152aba3e10315343c19c.html)
问题的提出:  
编译运行下面这个程序会看到什么?  
public   class   Test{  
          public   static   void   main(String   args[]){  
                  System.out.println(0.05+0.01);  
                  System.out.println(1.0-0.42);  
                  System.out.println(4.015*100);  
                  System.out.println(123.3/100);  
          }  
};  
   
你没有看错!结果确实是  
0.060000000000000005  
0.5800000000000001  
401.49999999999994  
1.2329999999999999  
   
Java中的简单浮点数类型float和double不能够进行运算。不光是Java,在其它很多编程语言中也有这样的问题。在大多数情况下,计算的结果是准确的,但是多试几次(可以做一个循环)就可以试出类似上面的错误。现在终于理解为什么要有BCD码了。  
这个问题相当严重,如果你有9.999999999999元,你的计算机是不会认为你可以购买10元的商品的。  
在有的编程语言中提供了专门的货币类型来处理这种情况,但是Java没有。现在让我们看看如何解决这个问题。  
   
     
   
四舍五入  
我们的第一个反应是做四舍五入。Math类中的round方法不能设置保留几位小数,我们只能象这样(保留两位):  
public   double   round(double   value){&


相关文档:

JAVA规范学习——String字面常量

package testPackage;
class Test {
public static void main(String[] args) {
String hello = "Hello", lo = "lo";
System.out.print((hello == "Hello") + " ");
System.out.print((Other.hello == hello) + " ");
System.out.print((other.Other.hello == hello) + " ");
System.out.print((hello == ("Hel"+"lo ......

java程序员成长全计划

=====================================
前言
在太原经历了一年的痛苦开发之后,项目已经日趋稳定,接下来的工作就是拿现有的代码到其他的省市进行实施、然后做一些本地化开发。日子相对轻松了许多,于是可以抽出时间来温习一下基础的技术知识,给自己列了一个复习提纲,这也是一个java程序员所应该掌握的知识脉络。
=== ......

四个有用的Java过滤器

一、使浏览器不缓存页面的过滤器     
import javax.servlet.*;    
import javax.servlet.http.HttpServletResponse;    
import java.io.IOException;    
   
/**   
* 用于的使 Browser 不 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号