str_int{s:str, i:int, format:str, default:float}
A relation generator. Can convert string s into integer i and vice-versa.
For each string that cannot be parsed, no tuple is returned.
If format is given it is treated as a format string. See print for details.
If default is given it is used for i when s is "".
Examples
string to integer
str_int(s:="42")
| i | format | default |
|---|---|---|
| 42 | 0 |
integer to string
str_int(i:=42)
| s | format | default |
|---|---|---|
| 42 | 0 |
integer with format
str_int(i:=42, format:=":04d")
| s | default |
|---|---|
| 0042 | 0 |
bulk operation - with some invalid and some empty
d := {s:str}{
["3"]
["not an int"]
[""]
["99.12"]
["-42"]
}
(d & str_int){s, i}
┌───────┬─────┐ │ s │ i │ ├───────┼─────┤ │ │ 0 │ │ -42 │ -42 │ │ 3 │ 3 │ │ 99.12 │ 99 │ └───────┴─────┘
form example
form := {k:str, v:str, s:str}{
["item_id", "338", "338"],
["amount", "42.13", "42.13"],
["size", "1291", "1291"],
}
(form[k="item_id"] & str_int){k, i}
┌─────────┬─────┐ │ k │ i │ ├─────────┼─────┤ │ item_id │ 338 │ └─────────┴─────┘