如何使用java的ResultSet获取mysql的float的精确值
Posted
技术标签:
【中文标题】如何使用java的ResultSet获取mysql的float的精确值【英文标题】:How to use ResultSet of java to get precise value of float of mysql 【发布时间】:2015-10-21 15:36:54 【问题描述】:在Java中是否有可能,我使用ResultSet
,来获得float
的精确值mysql
?
在我的mysql数据库中,我有一些float
的值很长(例如123456789,超过7位),我知道如果我使用select round(float_value_column,0)
我可以得到精确的值。但是如果我使用java的ResultSet.GetFloat
,我只能得到四舍五入的值(123457000,就像在mysql中我做了select float_value_column
一样)。
请问,如果我使用ResultSet.GetDouble
,我可以得到准确的值吗?或者我可以喜欢ResultSet.GetFloat(round(float_value_column,0))
吗?
非常感谢
【问题讨论】:
BigDecimal
呢?
嗨,alkis,非常感谢您的回复。你是什么意思BigDecimal,你的意思是在Java或Mysql中?谢谢
@martinwang1985:你试过打电话给ResultSet.getDouble
吗?
【参考方案1】:
你可以试试下面的代码
ResultSet rs = .....
BigDecimal myValue = rs.getBigDecimal("Column Name");
float myFloatValue = myValue.floatValue();
更多关于BigDecimal here。
你也可以看看这个SOW post。
【讨论】:
以上是关于如何使用java的ResultSet获取mysql的float的精确值的主要内容,如果未能解决你的问题,请参考以下文章
executeQuery Mysql 中的 ResultSet 为 false - Java 即使行存在