Kdb - 要加倍或浮动的字符串

时间:2016-12-13 19:15:04

标签: kdb q-lang

我正在尝试将字符串转换为KDB中的double或float - 该字符串包含一个带有" accounting"的数字。 2,228,25(金额)之类的格式 - 我使用类似"j"$amount的内容我将50 44 50 50 56 46 50 53作为返回值。如何将该字符串转换为正确的数字?谢谢

2 个答案:

答案 0 :(得分:8)

在kdb +中将字符串转换为其他类型的原子时,必须使用大写字母进行强制转换。将带逗号的字符串转换为数字将返回空值,因此请尝试使用except或ssr删除它们。

"J"$"2,228,25" except ","

"J"$ssr["2,228,25";",";""]

答案 1 :(得分:1)

正如另一个例子所述,您可以使用except排除","在转换之前。但是,如果您需要删除的字符串中有许多字符,并且这些字符各不相同,则可以使用inter和已接受字符的列表,而不是例外:

q)amt:"2/228,25.0"
q)"F"$amt inter "0123456789."
222825f