有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

    long不支持小数位数,因为它是整数类型。你试过了吗