Cassandra浮点精度

t1rydlwq  于 2021-06-14  发布在  Cassandra
关注(0)|答案(1)|浏览(463)

我从带有float类型列的cassandra表中创建了float值。

CREATE TABLE testing(
id int,
value float,
primary key (id)
);

INSERT INTO testing(id,  value) VALUES (1, 2341.1);  

SELECT * from testing;

我得到的值是2341.1001
我的设置怎么了?谢谢。
这是我的Cassandra版本。

cassandra@cqlsh> show version
[cqlsh 5.0.1 | Cassandra 3.11.1 | CQL spec 3.4.4 | Native protocol v4]
6uxekuva

6uxekuva1#

浮点和双精度在内存中表示为与指定为输入的数字的近似值。您可以在java语言规范中找到关于浮点和双精度的内部表示的更多细节。
如果你想得到精确的数字,你可以用 decimal 类型,Map到java的 BigDecimal 类型,但会占用更多内存/磁盘空间。

相关问题