我从带有浮点类型列的Cassandra表中创建了浮点值。
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@cqlsh> show version
[cqlsh 5.0.1 | Cassandra 3.11.1 | CQL spec 3.4.4 | Native protocol v4]
答案 0 :(得分:0)
浮点数和双精度数在内存中表示为与您指定为输入的数字近似的近似值。您可以在Java language specification中找到有关浮点和双精度的内部表示的更多详细信息。
如果您想获得精确的数字,可以使用decimal
类型,该类型已映射到Java's BigDecimal
type,但是它使用更多的内存/磁盘空间。