[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2023-10-06 UTC."],[[["\u003cp\u003e\u003ccode\u003eNumber.toShort()\u003c/code\u003e casts a given number to a signed 16-bit integer, effectively restricting its value range to [-32768, 32767].\u003c/p\u003e\n"],["\u003cp\u003eCasting floating-point numbers using this method results in the loss of decimal precision, returning only the integer part.\u003c/p\u003e\n"],["\u003cp\u003eIf the input number exceeds the maximum value for a signed 16-bit integer (32767), the function returns 32767.\u003c/p\u003e\n"],["\u003cp\u003eSimilarly, if the input number falls below the minimum value for a signed 16-bit integer (-32768), the function returns -32768.\u003c/p\u003e\n"]]],["The `toShort()` method casts a number to a signed 16-bit integer, ranging from -32768 to 32767. Floating-point numbers lose decimal precision when cast. Values exceeding the maximum (32767) are converted to 32767, and values below the minimum (-32768) become -32768. The method takes a number as input and returns a signed 16-bit integer.\n"],null,["# ee.Number.toShort\n\nCasts the input value to a signed 16-bit integer.\n\n\u003cbr /\u003e\n\n| Usage | Returns |\n|--------------------|---------|\n| Number.toShort`()` | Number |\n\n| Argument | Type | Details |\n|---------------|--------|------------------|\n| this: `input` | Number | The input value. |\n\nExamples\n--------\n\n### Code Editor (JavaScript)\n\n```javascript\n// Cast a number to signed 16-bit integer: [-32768, 32767].\nvar number = ee.Number(100);\nprint('Number:', number);\n\nvar shortNumber = number.toShort();\nprint('Number cast to short:', shortNumber);\n\n\n/**\n * Casting numbers to short that are outside of its range and precision can\n * modify the resulting value, note the behavior of the following scenarios.\n */\n\n// A floating point number cast to short loses decimal precision.\nvar float = ee.Number(1.7);\nprint('Floating point value:', float);\n\nvar floatToShort = float.toShort();\nprint('Floating point value cast to short:', floatToShort);\n\n// A number greater than short range max cast to short becomes short range max.\nvar SHORT_MAX = 32767;\nvar outOfRangeHi = ee.Number(SHORT_MAX + 12345);\nprint('Greater than short max:', outOfRangeHi);\n\nvar outOfRangeHiToShort = outOfRangeHi.toShort();\nprint('Greater than short max cast to short becomes short max:', outOfRangeHiToShort);\n\n// A number greater than short range min cast to short becomes short range min.\nvar SHORT_MIN = -32768;\nvar outOfRangeLo = ee.Number(SHORT_MIN - 12345);\nprint('Less than short min:', outOfRangeLo);\n\nvar outOfRangeLoToShort = outOfRangeLo.toShort();\nprint('Less than short min cast to short becomes short min:', outOfRangeLoToShort);\n```\nPython setup\n\nSee the [Python Environment](/earth-engine/guides/python_install) page for information on the Python API and using\n`geemap` for interactive development. \n\n```python\nimport ee\nimport geemap.core as geemap\n```\n\n### Colab (Python)\n\n```python\n# Cast a number to signed 16-bit integer: [-32768, 32767].\nnumber = ee.Number(100)\nprint('Number:', number.getInfo())\n\nshort_number = number.toShort()\nprint('Number cast to short:', short_number.getInfo())\n\n\n\"\"\"Casting numbers to short that are outside of its range and precision can\nmodify the resulting value, note the behavior of the following scenarios.\n\"\"\"\n\n# A floating point number cast to short loses decimal precision.\nfloat_number = ee.Number(1.7)\nprint('Floating point value:', float_number.getInfo())\n\nfloat_to_short = float_number.toShort()\nprint('Floating point value cast to short:', float_to_short.getInfo())\n\n# A number greater than short range max cast to short becomes short range max.\nSHORT_MAX = 32767\nout_of_range_hi = ee.Number(SHORT_MAX + 12345)\nprint('Greater than short max:', out_of_range_hi.getInfo())\n\nout_of_range_hi_to_short = out_of_range_hi.toShort()\nprint('Greater than short max cast to short becomes short max:',\n out_of_range_hi_to_short.getInfo())\n\n# A number greater than short range min cast to short becomes short range min.\nSHORT_MIN = -32768\nout_of_range_lo = ee.Number(SHORT_MIN - 12345)\nprint('Less than short min:', out_of_range_lo.getInfo())\n\nout_of_range_lo_to_short = out_of_range_lo.toShort()\nprint('Less than short min cast to short becomes short min:',\n out_of_range_lo_to_short.getInfo())\n```"]]