float数据类型自动乱填充

  • nebula 版本:3.4.0
  • 部署方式:阿里云丰巢计算
  • 问题的具体描述
  • 上传的数据设置类型float,原始数据为0.32(举例,保留小数点两位)。上午上传后显示的是两位,下午再次查看,数据被填充为0.32000009840321(举例,超出了nebula技术文档对float定义的6-7位),这是为什么啊,这个填充和我本来的数据毫无联系,就算填充位数也应当是0.320000000000。
    注:这个原始数据由python.pandas.round(,2) 函数得来。
1 个赞

内部是按照 double 存储的 float 类型,会存在精度问题。:thinking: 这个问题被 GitHub issue 记录:The accuracy of stored data may change. · Issue #5586 · vesoft-inc/nebula · GitHub 等待修复中。

1 个赞

感谢您的回复,我暂时将数值类型设置成了string来维持它的稳定。另外还有一个优化小建议,当数值类型为int时,筛选点和变的数值条件可以是<, =, >等范围计算。但是当数值类型为float时,反而仅支持contains, == 这类的筛选条件。相比int类型,float的位数更多,要确定某个精确值去选择:属性==某float,是个略微困难的筛选条件,以上。

1 个赞

奇怪了,你把你语句发我下?float应该是支持的啊