【发布时间】:2013-04-27 10:20:12
【问题描述】:
在 java 中,我使用浮点数来存储数字。我选择了浮点格式,因为我同时使用整数和双精度数,其中数字不同,可能有大整数或具有不同小数位数的大双精度数。但是当我将这些数字插入数据库时,存储了错误的数字。例如:
float value = 0f;
value = 67522665;
System.out.println(value);
打印:6.7522664E7,它在数据库中存储为 67522664 而不是 67522665
【问题讨论】:
-
在做任何涉及浮点数的严肃事情之前,请阅读docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html“每个计算机科学家应该知道的关于浮点运算的知识”。