ee.Number.toInt32

Casts the input value to a signed 32-bit integer.

UsageReturns
Number.toInt32()Number
ArgumentTypeDetails
this: inputNumberThe input value.

Examples

Code Editor (JavaScript)

// Cast a number to signed 32-bit integer: [-2147483648, 2147483647].
var number = ee.Number(100);
print('Number:', number);

var int32Number = number.toInt32();
print('Number cast to int32:', int32Number);


/**
 * Casting numbers to int32 that are outside of its range and precision can
 * modify the resulting value, note the behavior of the following scenarios.
 */

// A floating point number cast to int32 loses decimal precision.
var float = ee.Number(1.7);
print('Floating point value:', float);

var floatToInt32 = float.toInt32();
print('Floating point value cast to int32:', floatToInt32);

// A number greater than int32 range max cast to int32 becomes int32 range max.
var INT32_MAX = 2147483647;
var outOfRangeHi = ee.Number(INT32_MAX + 12345);
print('Greater than int32 max:', outOfRangeHi);

var outOfRangeHiToInt32 = outOfRangeHi.toInt32();
print('Greater than int32 max cast to int32 becomes int32 max:', outOfRangeHiToInt32);

// A number greater than int32 range min cast to int32 becomes int32 range min.
var INT32_MIN = -2147483648;
var outOfRangeLo = ee.Number(INT32_MIN - 12345);
print('Less than int32 min:', outOfRangeLo);

var outOfRangeLoToInt32 = outOfRangeLo.toInt32();
print('Less than int32 min cast to int32 becomes int32 min:', outOfRangeLoToInt32);

Python setup

See the Python Environment page for information on the Python API and using geemap for interactive development.

import ee
import geemap.core as geemap

Colab (Python)

# Cast a number to signed 32-bit integer: [-2147483648, 2147483647].
number = ee.Number(100)
print('Number:', number.getInfo())

int32_number = number.toInt32()
print('Number cast to int32:', int32_number.getInfo())


"""Casting numbers to int32 that are outside of its range and precision can
modify the resulting value, note the behavior of the following scenarios.
"""

# A floating point number cast to int32 loses decimal precision.
float_number = ee.Number(1.7)
print('Floating point value:', float_number.getInfo())

float_to_int32 = float_number.toInt32()
print('Floating point value cast to int32:', float_to_int32.getInfo())

# A number greater than int32 range max cast to int32 becomes int32 range max.
INT32_MAX = 2147483647
out_of_range_hi = ee.Number(INT32_MAX + 12345)
print('Greater than int32 max:', out_of_range_hi.getInfo())

out_of_range_hi_to_int32 = out_of_range_hi.toInt32()
print('Greater than int32 max cast to int32 becomes int32 max:',
      out_of_range_hi_to_int32.getInfo())

# A number greater than int32 range min cast to int32 becomes int32 range min.
INT32_MIN = -2147483648
out_of_range_lo = ee.Number(INT32_MIN - 12345)
print('Less than int32 min:', out_of_range_lo.getInfo())

out_of_range_lo_to_int32 = out_of_range_lo.toInt32()
print('Less than int32 min cast to int32 becomes int32 min:',
      out_of_range_lo_to_int32.getInfo())