AI-generated Key Takeaways
-
Number.toInt64()
casts a given Earth EngineNumber
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.
Usage | Returns |
---|---|
Number.toInt64() | Number |
Argument | Type | Details |
---|---|---|
this: input | Number | The input value. |
Examples
Code Editor (JavaScript)
// 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);
import ee import geemap.core as geemap
Colab (Python)
# 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()))