易截截图软件、单文件、免安装、纯绿色、仅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基础数据类型

Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。
原始类型封装类
boolean -->Boolean
char --->Character
byte -->Byte
short -->Short
int -->Integer
long -->Long
float -- ......

java转换货币为中文

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.Arrays;
public class NumberChange
{
private String strNum;

private String strNumChFormat;

private String strNumT ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号