【发布时间】:2016-12-13 19:15:04
【问题描述】:
我正在尝试将字符串转换为 KDB 中的双精度或浮点数 - 该字符串包含一个具有“会计”格式的数字,类似于 2,228,25(金额) - 我使用类似 "j"$amount 的东西吗? 50 44 50 50 56 46 50 53 作为返回值。如何将该字符串转换为正确的数字?谢谢
【问题讨论】:
我正在尝试将字符串转换为 KDB 中的双精度或浮点数 - 该字符串包含一个具有“会计”格式的数字,类似于 2,228,25(金额) - 我使用类似 "j"$amount 的东西吗? 50 44 50 50 56 46 50 53 作为返回值。如何将该字符串转换为正确的数字?谢谢
【问题讨论】:
在 kdb+ 中将字符串转换为其他类型的原子时,必须使用大写字母进行转换。将带逗号的字符串转换为数字将返回空值,因此请尝试使用 except 或 ssr 删除它们。
"J"$"2,228,25" except ","
或
"J"$ssr["2,228,25";",";""]
【讨论】:
正如另一个示例所述,您可以在转换之前使用except 排除“,”。但是,如果您需要删除字符串中的许多字符,并且这些字符各不相同,您可以使用 inter 和接受的字符列表,而不是有例外:
q)amt:"2/228,25.0"
q)"F"$amt inter "0123456789."
222825f
【讨论】: