Announcement: All noncommercial projects registered to use Earth Engine before April 15, 2025 must verify noncommercial eligibility to maintain Earth Engine access.
[[["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.uint8()\u003c/code\u003e casts a given Earth Engine Number to an unsigned 8-bit integer, resulting in a value within the range of 0 to 255.\u003c/p\u003e\n"],["\u003cp\u003eNumbers exceeding the maximum value of 255 will be truncated to 255, and numbers below 0 will be truncated to 0 when cast to uint8.\u003c/p\u003e\n"],["\u003cp\u003eCasting floating-point numbers to uint8 results in the loss of decimal precision, keeping only the integer part.\u003c/p\u003e\n"],["\u003cp\u003eThis function is useful for ensuring numerical values fit within the constraints of unsigned 8-bit data types often used in image processing and analysis.\u003c/p\u003e\n"]]],[],null,["Casts the input value to an unsigned 8-bit integer.\n\n\u003cbr /\u003e\n\n| Usage | Returns |\n|------------------|---------|\n| Number.uint8`()` | Number |\n\n| Argument | Type | Details |\n|---------------|--------|------------------|\n| this: `input` | Number | The input value. |\n\nExamples\n\nCode Editor (JavaScript) \n\n```javascript\n// Cast a number to unsigned 8-bit integer: [0, 255].\nvar number = ee.Number(100);\nprint('Number:', number);\n\nvar uint8Number = number.uint8();\nprint('Number cast to uint8:', uint8Number);\n\n\n/**\n * Casting numbers to uint8 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 uint8 loses decimal precision.\nvar float = ee.Number(1.7);\nprint('Floating point value:', float);\n\nvar floatToUint8 = float.uint8();\nprint('Floating point value cast to uint8:', floatToUint8);\n\n// A number greater than uint8 range max cast to uint8 becomes uint8 range max.\nvar UINT8_MAX = 255;\nvar outOfRangeHi = ee.Number(UINT8_MAX + 12345);\nprint('Greater than uint8 max:', outOfRangeHi);\n\nvar outOfRangeHiToUint8 = outOfRangeHi.uint8();\nprint('Greater than uint8 max cast to uint8 becomes uint8 max:', outOfRangeHiToUint8);\n\n// A number greater than uint8 range min cast to uint8 becomes uint8 range min.\nvar UINT8_MIN = 0;\nvar outOfRangeLo = ee.Number(UINT8_MIN - 12345);\nprint('Less than uint8 min:', outOfRangeLo);\n\nvar outOfRangeLoToUint8 = outOfRangeLo.uint8();\nprint('Less than uint8 min cast to uint8 becomes uint8 min:', outOfRangeLoToUint8);\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\nColab (Python) \n\n```python\n# Cast a number to unsigned 8-bit integer: [0, 255].\nnumber = ee.Number(100)\nprint('Number:', number.getInfo())\n\nuint8_number = number.uint8()\nprint('Number cast to uint8:', uint8_number.getInfo())\n\n\n\"\"\"Casting numbers to uint8 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 uint8 loses decimal precision.\nfloat_number = ee.Number(1.7)\nprint('Floating point value:', float_number.getInfo())\n\nfloat_to_uint8 = float_number.uint8()\nprint('Floating point value cast to uint8:', float_to_uint8.getInfo())\n\n# A number greater than uint8 range max cast to uint8 becomes uint8 range max.\nUINT8_MAX = 255\nout_of_range_hi = ee.Number(UINT8_MAX + 12345)\nprint('Greater than uint8 max:', out_of_range_hi.getInfo())\n\nout_of_range_hi_to_uint8 = out_of_range_hi.uint8()\nprint('Greater than uint8 max cast to uint8 becomes uint8 max:',\n out_of_range_hi_to_uint8.getInfo())\n\n# A number greater than uint8 range min cast to uint8 becomes uint8 range min.\nUINT8_MIN = 0\nout_of_range_lo = ee.Number(UINT8_MIN - 12345)\nprint('Less than uint8 min:', out_of_range_lo.getInfo())\n\nout_of_range_lo_to_uint8 = out_of_range_lo.uint8()\nprint('Less than uint8 min cast to uint8 becomes uint8 min:',\n out_of_range_lo_to_uint8.getInfo())\n```"]]