Skip to main content
Use the toint function (or its synonym tolong) to convert various data types to an integer (signed 64-bit) value. This is helpful when you need to normalize numeric values from different sources into integer format for mathematical operations, comparisons, or when decimal precision isn’t required. You typically use toint when working with numeric strings, floating-point numbers, or other types that need to be converted to integers for whole-number calculations or when working with integer-based identifiers.

For users of other query languages

If you come from other query languages, this section explains how to adjust your existing queries to achieve the same results in APL.
In Splunk, you use tonumber to convert values to numbers, which can be integers or decimals. In APL, toint specifically converts to integers, truncating decimal values.
... | eval status_code = tonumber(status_string)
In standard SQL, you use CAST(... AS INT) or CAST(... AS INTEGER) to convert values to integers. In APL, toint provides a simpler way to convert to integer values.
SELECT CAST('456' AS INT) AS status_code FROM logs;

Usage

Syntax

toint(value)

Parameters

NameTypeDescription
valuedynamicThe value to convert to integer.

Returns

If the conversion is successful, the result is an integer. If the conversion isn’t successful, the result is null.

Conversion behavior

The toint function converts values based on their type:
  • Integer: Returns the value unchanged.
  • Float: Truncates to integer.
  • Boolean: true becomes 1, false becomes 0.
  • Datetime: Converts to nanoseconds since epoch as an integer.
  • Duration: Converts to integer nanoseconds.
  • String: Parses as a strict integer format ("+<integer>" or "-<integer>"). Hex values and other formats aren’t supported.

Use case example

Convert string representations of HTTP status codes to integers for numeric comparisons and filtering. Query
['sample-http-logs']
| extend status_int = toint(status)
| extend is_error = status_int >= 400
| where is_error == true
| project _time, uri, status, status_int, is_error
Run in Playground Output
_timeuristatusstatus_intis_error
Jun 24, 09:28:10/api/users404404true
This example converts string status codes to integers, enabling numeric range comparisons to identify error responses.
  • todouble: Converts input to real number. Use todouble when you need decimal precision, and toint when you need whole numbers.
  • tostring: Converts input to string. Use tostring to convert integers back to strings when needed.