公告:所有在
2025 年 4 月 15 日之前注册使用 Earth Engine 的非商业项目都必须
验证是否符合非商业性质的资格条件,才能继续使用 Earth Engine。
ee.Number.toShort
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
将输入值强制转换为有符号的 16 位整数。
示例
代码编辑器 (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);
Python 设置
如需了解 Python API 和如何使用 geemap
进行交互式开发,请参阅
Python 环境页面。
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())
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-26。
[null,null,["最后更新时间 (UTC):2025-07-26。"],[[["\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```"]]