Astyanax Cassandra双型精密

Guy*_*ald 6 astyanax cql3 cqlsh cassandra-2.0

我正在尝试从具有双类型列的Cassandra表中获取Double值.我用CQL3语法创建了表:

CREATE TABLE data_double (
    datetime timestamp,
    value double,
    primary key (datetime)
    );
Run Code Online (Sandbox Code Playgroud)

我插了一行:

INSERT INTO data_double (datetime,  value) VALUES ('111111111', 123.456);  
Run Code Online (Sandbox Code Playgroud)

当我做:

SELECT * from data_double;
Run Code Online (Sandbox Code Playgroud)

我知道这个值是123.46

为什么价值四舍五入?

谢谢

Bri*_*anC 10

cqlsh默认情况下,该实用程序仅显示浮点数的5位精度.

您可以通过创建包含以下内容的cqlshrc文件来增加此功能:

[ui]
float_precision = 10
Run Code Online (Sandbox Code Playgroud)

cqlsh文档页面提供了关于可用选项的更多详细信息.

更新: cssshrc文件的位置在Cassandra中的某个位置发生了变化.新的默认位置是~/.cassandra/cqlshrc.您还可以使用--cqlshrc命令行选项在不同位置使用文件.