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

Java显示特定浮点数时的怪问题

浮点数不能进行精确运算,这个问题想必大家都知道,我今天也不是讲这个问题,而是讲一个怪问题。
首先,请大家先看下以下几条语句的输出:
Double d1 = 0.005;
Double d2 = Double.parseDouble("0.005");
System.out.println(d1);
System.out.println(d1.toString());
System.out.println(d2);
输出会是什么呢?不就是0.005吗?
如果没遇到过,那大家是肯定想不到的了。输出是:
0.0050
0.0050
0.0050
为什么后面多了个0呢?我是无从知道原因了,经过多次测试,发现只有0.001,0.002直到0.009这 9 个数如果直接输出,是一定会多个0的,其他的浮点数未发现有这样的问题(若小数位太多,会以科学计数法方式显示,但不会后面多个0)。
最近做的一个项目就遇到了上述问题,虽然每次都得到了满足小数有效位数的要求,但就因为上述怪问题,害得我把每个结果都要用DecimalFomat进行格式化,由于数据多,而每个数据又由于所属对象的等级不同而有不同的有效位数要求,因此这样一来工作量一下子多了不少!


相关文档:

java使用rocksaw和vserv tcpip实现基于ICMP的Ping功能

一:准备 www.savarese.org download
 1.  rocksaw-1.0.0-src.tar.gz
 2.  vserv-tcpip-0.9.2-src.tar.gz
二:编译源文件得到jar包 使用Ant
 1.  build vserv-tcpip-0.9.2-src
      在vserv-tcpip-0.9.2目录下面建一个tests目录,然后在cmd窗口下进入 ......

解析Java类和对象的初始化过程

类的初始化和对象初始化是 JVM 管理的类型生命周期中非常重要的两个环节,Google 了一遍网络,有关类装载机制的文章倒是不少,然而类初始化和对象初始化的文章并不多,特别是从字节码和 JVM 层次来分析的文章更是鲜有所见。
本文主要对类和对象初始化全过程进行分析,通过一个实际问题引入,将源代码转换成 JVM 字节码后, ......

Hibernate,java,sql类型的对应关系


Java数据类型
Hibernate数据类型
标准SQL数据类型
byte
byte
TINYINT
short
short
SMALLINT
int
integer
INGEGER
long
long
BIGINT
float
float
FLOAT
double
double
DOUBLE
java.math.BigDecimal
big_decimal
NUMERIC
char, java.lang.Character
character
CHAR(1)
boolean, java.lang.Boole ......

[转]常用排序算法分析与实现(一)(Java版)


在已经排好序的序列中查找待插入的元素的插入位置,并将待插入元素插入到有序列表中的过程。
 
将数组分成两部分,初始化时,前部分数组为只有第一个元素,用来存储已排序元素,我们这里叫 arr1 ;后部分数组的元素为除第一个元素的所有元素,为待排序或待插入元素,我们这里叫 arr2 。
排序时使用二层循环:第一 ......

java线程池

          线程池主要是用来 处理多个请求时,减少资源消耗,提高应用性能。
        下面的代码是来自于 孙卫琴:<<Java网络编程精解>> 中线程池实现源码, 代码结构简单清晰,对于理解线程池,wait(),notify()方法都有有很 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号