public class TestCase {
public static void main(String[] args) {
System.out.println(Double.parseDouble("9999999999999999"));
}
}
如上程序运行输出的结果如下:
1.0E16
怎么能避免这种情况,我只是想得到一个double类型的9999999999999999,现在它进了一位,数据库的字段放不下了
一般涉及小数用 BigDecimal 数据库存储也是 decimal
存在这种大数据的情况就不要用 double 了,建议使用BigDecimal存储,如果存储框架受限,那就加个字段吧,对Double.MAX_VALUE取余,当前字段只保存余数,新字段存储上部分
http://cn.voidcc.com/question/p-hhsessqg-hp.html
难搞啊,先扩数据库字段了