ee.Number.toInt64

Truyền giá trị đầu vào thành số nguyên 64 bit có dấu.

Cách sử dụngGiá trị trả về
Number.toInt64()Số
Đối sốLoạiThông tin chi tiết
this: inputSốGiá trị đầu vào.

Ví dụ

Trình soạn thảo mã (JavaScript)

// Cast a number to signed 64-bit integer: [-9223372036854776000, 9223372036854776000].
var number = ee.Number(100);
print('Number:', number);

var int64Number = number.toInt64();
print('Number cast to int64:', int64Number);


/**
 * Casting numbers to int64 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 int64 loses decimal precision.
var float = ee.Number(1.7);
print('Floating point value:', float);

var floatToInt64 = float.toInt64();
print('Floating point value cast to int64:', floatToInt64);

// A number greater than int64 range max cast to int64 becomes int64 range max.
var INT64_MAX = 9223372036854776000;
var outOfRangeHi = ee.Number(INT64_MAX + 12345);
print('Greater than int64 max:', outOfRangeHi);

var outOfRangeHiToInt64 = outOfRangeHi.toInt64();
print('Greater than int64 max cast to int64 becomes int64 max:', outOfRangeHiToInt64);

// A number greater than int64 range min cast to int64 becomes int64 range min.
var INT64_MIN = -9223372036854776000;
var outOfRangeLo = ee.Number(INT64_MIN - 12345);
print('Less than int64 min:', outOfRangeLo);

var outOfRangeLoToInt64 = outOfRangeLo.toInt64();
print('Less than int64 min cast to int64 becomes int64 min:', outOfRangeLoToInt64);

Thiết lập Python

Hãy xem trang Môi trường Python để biết thông tin về API Python và cách sử dụng geemap cho quá trình phát triển tương tác.

import ee
import geemap.core as geemap

Colab (Python)

# Cast a number to signed 64-bit integer:
# [-9223372036854775808, 9223372036854775808].
number = ee.Number(100)
print('Number:', number.getInfo())

int64_number = number.toInt64()
print('Number cast to int64:', int64_number.getInfo())


"""Casting numbers to int64 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 int64 loses decimal precision.
float_number = ee.Number(1.7)
print('Floating point value:', float_number.getInfo())

float_to_int64 = float_number.toInt64()
print('Floating point value cast to int64:', float_to_int64.getInfo())

# A number greater than int64 range max becomes int64 range max.
# Python int is too large to be mapped to int64, use float instead.
INT64_MAX = 9223372036854775808.0
out_of_range_hi = ee.Number(INT64_MAX + 12345)
print('Greater than int64 max:', '{:.0f}'.format(out_of_range_hi.getInfo()))

out_of_range_hi_to_int64 = out_of_range_hi.toInt64()
print('Greater than int64 max cast to int64 becomes int64 max:',
      '{:.0f}'.format(out_of_range_hi_to_int64.getInfo()))

# A number greater than int64 range min becomes int64 range min.
# Python int is too large to be mapped to int64, use float instead.
INT64_MIN = -9223372036854775808.0
out_of_range_lo = ee.Number(INT64_MIN - 12345)
print('Less than int64 min:', '{:.0f}'.format(out_of_range_lo.getInfo()))

out_of_range_lo_to_int64 = out_of_range_lo.toInt64()
print('Less than int64 min cast to int64 becomes int64 min:',
      '{:.0f}'.format(out_of_range_lo_to_int64.getInfo()))