ee.Number.toInt64
Casts the input value to a signed 64-bit integer.
Usage | Returns |
---|
Number.toInt64() | Number |
Argument | Type | Details |
---|
this: input | Number | The input value. |
Examples
// Cast a number to signed 64-bit integer: [-9223372036854776000, 9223372036854776000].
var number = ee.Number(100);
print('Number:', number);
var int64Number = number.toInt64();
print('Number cast to int64:', int64Number);
/**
* Casting numbers to int64 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 int64 loses decimal precision.
var float = ee.Number(1.7);
print('Floating point value:', float);
var floatToInt64 = float.toInt64();
print('Floating point value cast to int64:', floatToInt64);
// A number greater than int64 range max cast to int64 becomes int64 range max.
var INT64_MAX = 9223372036854776000;
var outOfRangeHi = ee.Number(INT64_MAX + 12345);
print('Greater than int64 max:', outOfRangeHi);
var outOfRangeHiToInt64 = outOfRangeHi.toInt64();
print('Greater than int64 max cast to int64 becomes int64 max:', outOfRangeHiToInt64);
// A number greater than int64 range min cast to int64 becomes int64 range min.
var INT64_MIN = -9223372036854776000;
var outOfRangeLo = ee.Number(INT64_MIN - 12345);
print('Less than int64 min:', outOfRangeLo);
var outOfRangeLoToInt64 = outOfRangeLo.toInt64();
print('Less than int64 min cast to int64 becomes int64 min:', outOfRangeLoToInt64);
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
# Cast a number to signed 64-bit integer:
# [-9223372036854775808, 9223372036854775808].
number = ee.Number(100)
print('Number:', number.getInfo())
int64_number = number.toInt64()
print('Number cast to int64:', int64_number.getInfo())
"""Casting numbers to int64 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 int64 loses decimal precision.
float_number = ee.Number(1.7)
print('Floating point value:', float_number.getInfo())
float_to_int64 = float_number.toInt64()
print('Floating point value cast to int64:', float_to_int64.getInfo())
# A number greater than int64 range max becomes int64 range max.
# Python int is too large to be mapped to int64, use float instead.
INT64_MAX = 9223372036854775808.0
out_of_range_hi = ee.Number(INT64_MAX + 12345)
print('Greater than int64 max:', '{:.0f}'.format(out_of_range_hi.getInfo()))
out_of_range_hi_to_int64 = out_of_range_hi.toInt64()
print('Greater than int64 max cast to int64 becomes int64 max:',
'{:.0f}'.format(out_of_range_hi_to_int64.getInfo()))
# A number greater than int64 range min becomes int64 range min.
# Python int is too large to be mapped to int64, use float instead.
INT64_MIN = -9223372036854775808.0
out_of_range_lo = ee.Number(INT64_MIN - 12345)
print('Less than int64 min:', '{:.0f}'.format(out_of_range_lo.getInfo()))
out_of_range_lo_to_int64 = out_of_range_lo.toInt64()
print('Less than int64 min cast to int64 becomes int64 min:',
'{:.0f}'.format(out_of_range_lo_to_int64.getInfo()))
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2023-10-06 UTC.
[null,null,["Last updated 2023-10-06 UTC."],[[["`Number.toInt64()` casts a given Earth Engine `Number` value to a signed 64-bit integer."],["Casting floating point numbers using this function will result in a loss of decimal precision."],["Input values exceeding the maximum or minimum bounds of a signed 64-bit integer will be coerced to the respective boundary value upon conversion."]]],[]]