java Spring查询长期丢失精度
我有一个针对MySql数据库运行的Spring应用程序。我有一张销售表,比如:
+-------------------+------------------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------------+------------------------------+------+-----+---------+-------+
| Price | decimal(19,4) | NO | | NULL | |
| ItemId | int(10) unsigned | NO | | NULL | |
+-------------------+------------------------------+------+-----+---------+-------+
在我的春季课程中,我有以下几点:
long price = getSimpleJdbcTemplate().queryForLong("SELECT price FROM sales WHERE itemID = :itemID", params);
logger.info("price: " + price + ");
然而,这返回的价格是1,即使直接在数据库上的查询返回0.8500。如何避免从数据库中的小数点到代码中的长字符的精度损失
# 1 楼答案
long
不支持小数位数,因为它是整数类型。你试过了吗