关于kdb+表模式中浮点数列定义的技术问询
在kdb+表模式中定义浮点数列(含类型
F) 先明确kdb+里两种浮点类型的对应关系:
f:32位单精度浮点数,用float$()初始化F:64位双精度浮点数,用double$()初始化
定义单个F类型列
直接用double$()生成空的双精度浮点数列:
price_double: double$()
验证类型:执行type price_double会返回9h,对应F类型。
在表模式中定义F类型列
有两种常用方式:
方式1:通过空表结构定义
创建空表时,将目标列初始化为double$():
trade:([] sym:`$(); price:double$(); size:int$())
查看表元数据确认类型:
meta trade // 输出会显示price列类型为F
方式2:通过类型代码定义
F类型对应的类型代码是9h,可以直接在表模式中指定:
trade:([sym:`$()] price:9h; size:4h)
同样用meta trade可以验证price列的类型为F。
简单总结:单精度浮点(f)用float$(),双精度浮点(F)用double$(),在表模式中直接替换对应初始化方式即可。
内容的提问来源于stack exchange,提问作者bashprofile84
相关产品推荐
相关产品推荐

