我从带有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]
1条答案
按热度按时间6uxekuva1#
浮点和双精度在内存中表示为与指定为输入的数字的近似值。您可以在java语言规范中找到关于浮点和双精度的内部表示的更多细节。
如果你想得到精确的数字,你可以用
decimal
类型,Map到java的BigDecimal
类型,但会占用更多内存/磁盘空间。