AI-generated Key Takeaways
-
The
toByte()method casts an input value to an unsigned 8-bit integer. -
Numbers outside the valid range [0, 255] will be clamped to the minimum (0) or maximum (255) value.
-
Floating-point numbers will lose decimal precision when cast to an unsigned 8-bit integer.
| Usage | Returns |
|---|---|
Number.toByte() | 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 byteNumber = number.toByte(); print('Number cast to byte:', byteNumber); /** * Casting numbers to byte 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 byte loses decimal precision. var float = ee.Number(1.7); print('Floating point value:', float); var floatToByte = float.toByte(); print('Floating point value cast to byte:', floatToByte); // A number greater than byte range max cast to byte becomes byte range max. var BYTE_MAX = 255; var outOfRangeHi = ee.Number(BYTE_MAX + 12345); print('Greater than byte max:', outOfRangeHi); var outOfRangeHiToByte = outOfRangeHi.toByte(); print('Greater than byte max cast to byte becomes byte max:', outOfRangeHiToByte); // A number greater than byte range min cast to byte becomes byte range min. var BYTE_MIN = 0; var outOfRangeLo = ee.Number(BYTE_MIN - 12345); print('Less than byte min:', outOfRangeLo); var outOfRangeLoToByte = outOfRangeLo.toByte(); print('Less than byte min cast to byte becomes byte min:', outOfRangeLoToByte);
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()) byte_number = number.toByte() print('Number cast to byte:', byte_number.getInfo()) """Casting numbers to byte 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 byte loses decimal precision. float_number = ee.Number(1.7) print('Floating point value:', float_number.getInfo()) float_to_byte = float_number.toByte() print('Floating point value cast to byte:', float_to_byte.getInfo()) # A number greater than byte range max cast to byte becomes byte range max. BYTE_MAX = 255 out_of_range_hi = ee.Number(BYTE_MAX + 12345) print('Greater than byte max:', out_of_range_hi.getInfo()) out_of_range_hi_to_byte = out_of_range_hi.toByte() print('Greater than byte max cast to byte becomes byte max:', out_of_range_hi_to_byte.getInfo()) # A number greater than byte range min cast to byte becomes byte range min. BYTE_MIN = 0 out_of_range_lo = ee.Number(BYTE_MIN - 12345) print('Less than byte min:', out_of_range_lo.getInfo()) out_of_range_lo_to_byte = out_of_range_lo.toByte() print('Less than byte min cast to byte becomes byte min:', out_of_range_lo_to_byte.getInfo())