AI-generated Key Takeaways
-
Number.toShort()
casts a given number to a signed 16-bit integer, effectively restricting its value range to [-32768, 32767]. -
Casting floating-point numbers using this method results in the loss of decimal precision, returning only the integer part.
-
If the input number exceeds the maximum value for a signed 16-bit integer (32767), the function returns 32767.
-
Similarly, if the input number falls below the minimum value for a signed 16-bit integer (-32768), the function returns -32768.
Usage | Returns |
---|---|
Number.toShort() | Number |
Argument | Type | Details |
---|---|---|
this: input | Number | The input value. |
Examples
Code Editor (JavaScript)
// Cast a number to signed 16-bit integer: [-32768, 32767]. var number = ee.Number(100); print('Number:', number); var shortNumber = number.toShort(); print('Number cast to short:', shortNumber); /** * Casting numbers to short 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 short loses decimal precision. var float = ee.Number(1.7); print('Floating point value:', float); var floatToShort = float.toShort(); print('Floating point value cast to short:', floatToShort); // A number greater than short range max cast to short becomes short range max. var SHORT_MAX = 32767; var outOfRangeHi = ee.Number(SHORT_MAX + 12345); print('Greater than short max:', outOfRangeHi); var outOfRangeHiToShort = outOfRangeHi.toShort(); print('Greater than short max cast to short becomes short max:', outOfRangeHiToShort); // A number greater than short range min cast to short becomes short range min. var SHORT_MIN = -32768; var outOfRangeLo = ee.Number(SHORT_MIN - 12345); print('Less than short min:', outOfRangeLo); var outOfRangeLoToShort = outOfRangeLo.toShort(); print('Less than short min cast to short becomes short min:', outOfRangeLoToShort);
import ee import geemap.core as geemap
Colab (Python)
# Cast a number to signed 16-bit integer: [-32768, 32767]. number = ee.Number(100) print('Number:', number.getInfo()) short_number = number.toShort() print('Number cast to short:', short_number.getInfo()) """Casting numbers to short 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 short loses decimal precision. float_number = ee.Number(1.7) print('Floating point value:', float_number.getInfo()) float_to_short = float_number.toShort() print('Floating point value cast to short:', float_to_short.getInfo()) # A number greater than short range max cast to short becomes short range max. SHORT_MAX = 32767 out_of_range_hi = ee.Number(SHORT_MAX + 12345) print('Greater than short max:', out_of_range_hi.getInfo()) out_of_range_hi_to_short = out_of_range_hi.toShort() print('Greater than short max cast to short becomes short max:', out_of_range_hi_to_short.getInfo()) # A number greater than short range min cast to short becomes short range min. SHORT_MIN = -32768 out_of_range_lo = ee.Number(SHORT_MIN - 12345) print('Less than short min:', out_of_range_lo.getInfo()) out_of_range_lo_to_short = out_of_range_lo.toShort() print('Less than short min cast to short becomes short min:', out_of_range_lo_to_short.getInfo())