Casts the input value to an unsigned 8-bit integer.
Usage | Returns | Number.toUint8() | Number |
Argument | Type | Details | this: input | Number | The input value. |
Examples
Code Editor (JavaScript)
// Cast a number to unsigned 8-bit integer: [0, 255].
var number = ee.Number(100);
print('Number:', number);
var uint8Number = number.toUint8();
print('Number cast to uint8:', uint8Number);
/**
* Casting numbers to uint8 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 uint8 loses decimal precision.
var float = ee.Number(1.7);
print('Floating point value:', float);
var floatToUint8 = float.toUint8();
print('Floating point value cast to uint8:', floatToUint8);
// A number greater than uint8 range max cast to uint8 becomes uint8 range max.
var UINT8_MAX = 255;
var outOfRangeHi = ee.Number(UINT8_MAX + 12345);
print('Greater than uint8 max:', outOfRangeHi);
var outOfRangeHiToUint8 = outOfRangeHi.toUint8();
print('Greater than uint8 max cast to uint8 becomes uint8 max:', outOfRangeHiToUint8);
// A number greater than uint8 range min cast to uint8 becomes uint8 range min.
var UINT8_MIN = 0;
var outOfRangeLo = ee.Number(UINT8_MIN - 12345);
print('Less than uint8 min:', outOfRangeLo);
var outOfRangeLoToUint8 = outOfRangeLo.toUint8();
print('Less than uint8 min cast to uint8 becomes uint8 min:', outOfRangeLoToUint8);
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
Colab (Python)
# Cast a number to unsigned 8-bit integer: [0, 255].
number = ee.Number(100)
print('Number:', number.getInfo())
uint8_number = number.toUint8()
print('Number cast to uint8:', uint8_number.getInfo())
"""Casting numbers to uint8 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 uint8 loses decimal precision.
float_number = ee.Number(1.7)
print('Floating point value:', float_number.getInfo())
float_to_uint8 = float_number.toUint8()
print('Floating point value cast to uint8:', float_to_uint8.getInfo())
# A number greater than uint8 range max cast to uint8 becomes uint8 range max.
UINT8_MAX = 255
out_of_range_hi = ee.Number(UINT8_MAX + 12345)
print('Greater than uint8 max:', out_of_range_hi.getInfo())
out_of_range_hi_to_uint8 = out_of_range_hi.toUint8()
print('Greater than uint8 max cast to uint8 becomes uint8 max:',
out_of_range_hi_to_uint8.getInfo())
# A number greater than uint8 range min cast to uint8 becomes uint8 range min.
UINT8_MIN = 0
out_of_range_lo = ee.Number(UINT8_MIN - 12345)
print('Less than uint8 min:', out_of_range_lo.getInfo())
out_of_range_lo_to_uint8 = out_of_range_lo.toUint8()
print('Less than uint8 min cast to uint8 becomes uint8 min:',
out_of_range_lo_to_uint8.getInfo())