ee.Number.toInt16
Casts the input value to a signed 16-bit integer.
Usage | Returns |
---|
Number.toInt16() | Number |
Argument | Type | Details |
---|
this: input | Number | The input value. |
Examples
// Cast a number to signed 16-bit integer: [-32768, 32767].
var number = ee.Number(100);
print('Number:', number);
var int16Number = number.toInt16();
print('Number cast to int16:', int16Number);
/**
* Casting numbers to int16 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 int16 loses decimal precision.
var float = ee.Number(1.7);
print('Floating point value:', float);
var floatToInt16 = float.toInt16();
print('Floating point value cast to int16:', floatToInt16);
// A number greater than int16 range max cast to int16 becomes int16 range max.
var INT16_MAX = 32767;
var outOfRangeHi = ee.Number(INT16_MAX + 12345);
print('Greater than int16 max:', outOfRangeHi);
var outOfRangeHiToInt16 = outOfRangeHi.toInt16();
print('Greater than int16 max cast to int16 becomes int16 max:', outOfRangeHiToInt16);
// A number greater than int16 range min cast to int16 becomes int16 range min.
var INT16_MIN = -32768;
var outOfRangeLo = ee.Number(INT16_MIN - 12345);
print('Less than int16 min:', outOfRangeLo);
var outOfRangeLoToInt16 = outOfRangeLo.toInt16();
print('Less than int16 min cast to int16 becomes int16 min:', outOfRangeLoToInt16);
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 16-bit integer: [-32768, 32767].
number = ee.Number(100)
print('Number:', number.getInfo())
int16_number = number.toInt16()
print('Number cast to int16:', int16_number.getInfo())
"""Casting numbers to int16 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 int16 loses decimal precision.
float_number = ee.Number(1.7)
print('Floating point value:', float_number.getInfo())
float_to_int16 = float_number.toInt16()
print('Floating point value cast to int16:', float_to_int16.getInfo())
# A number greater than int16 range max cast to int16 becomes int16 range max.
INT16_MAX = 32767
out_of_range_hi = ee.Number(INT16_MAX + 12345)
print('Greater than int16 max:', out_of_range_hi.getInfo())
out_of_range_hi_to_int16 = out_of_range_hi.toInt16()
print('Greater than int16 max cast to int16 becomes int16 max:',
out_of_range_hi_to_int16.getInfo())
# A number greater than int16 range min cast to int16 becomes int16 range min.
INT16_MIN = -32768
out_of_range_lo = ee.Number(INT16_MIN - 12345)
print('Less than int16 min:', out_of_range_lo.getInfo())
out_of_range_lo_to_int16 = out_of_range_lo.toInt16()
print('Less than int16 min cast to int16 becomes int16 min:',
out_of_range_lo_to_int16.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.toInt16()` casts a given number to a signed 16-bit integer, effectively constraining its value within the range of -32768 to 32767."],["Values exceeding the maximum limit of this range are truncated to the maximum value (32767), and those below the minimum are set to the minimum value (-32768)."],["Casting floating-point numbers using this function results in a loss of decimal precision, as it retains only the integer portion."]]],[]]