日期:2014-05-18  浏览次数:21043 次

float 类型的属性存储时变成科学计数法, 在mysql数据库中如何查询
float类型的属性, 当小数超过4位时, java就会自动用科学计数法来表示, 但是如果拿这个数来查询数据库就会找不到, 如: java对象保存的值: 1.0E-5,    数据库存储的值: 1E-5, 
拿 1.0E-5来查询找不到, 即便是用1E-5也查询不到, 但是如果用0.00001来查询就可以;

请问这该如何处理, 在java中, 还是在数据库中; 
说明: 项目是用struts2 、 Spring 、 MyBatis
------解决方案--------------------
小数超4位?
若是mysql数据库,你定义varchar与float,double都行
java,你用long吧,最后把你的代码发出来?
------解决方案--------------------
不知所云。。
0.00001 和1.0E-5 以及 1E-5 在我看来没有区别
float a=1E-5;
float b=1.0E-5;
float c=0.00001;
都是 0.00001
------解决方案--------------------
mysql能用decimal么?
------解决方案--------------------
引用:
Quote: 引用:

mysql能用decimal么?


可以的, 但是前提是不该字段类型。  设计数据库的人, 考虑不周, 又不能改, 没办法。 

我记得这个考题经常出的 工资字段用float,然后让改错……