ee.Number.toUint8
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
// 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
# 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())
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2023-10-06 UTC.
[null,null,["Last updated 2023-10-06 UTC."],[[["`Number.toUint8()` casts a number to an unsigned 8-bit integer, effectively converting it to a value within the range of 0 to 255."],["When applied to floating-point numbers, `toUint8()` truncates the decimal portion, resulting in a loss of precision."],["Input values exceeding the maximum value of an unsigned 8-bit integer (255) are converted to 255."],["Input values falling below the minimum value of an unsigned 8-bit integer (0) are converted to 0."]]],[]]