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 ) display ( 'Number:' , number ) byte_number = number . toByte () display ( 'Number cast to byte:' , byte_number ) """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 ) display ( 'Floating point value:' , float_number ) float_to_byte = float_number . toByte () display ( 'Floating point value cast to byte:' , float_to_byte ) # 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 ) display ( 'Greater than byte max:' , out_of_range_hi ) out_of_range_hi_to_byte = out_of_range_hi . toByte () display ( 'Greater than byte max cast to byte becomes byte max:' , out_of_range_hi_to_byte ) # 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 ) display ( 'Less than byte min:' , out_of_range_lo ) out_of_range_lo_to_byte = out_of_range_lo . toByte () display ( 'Less than byte min cast to byte becomes byte min:' , out_of_range_lo_to_byte )

