Source code for geetools.Number
"""Extra methods for the ``ee.Number`` class."""
from __future__ import annotations
import ee
from geetools.accessors import register_class_accessor
from geetools.types import ee_int
@register_class_accessor(ee.Number, "geetools")
[docs]
class NumberAccessor:
"""toolbox for the ``ee.Number`` class."""
def __init__(self, obj: ee.Number):
"""Initialize the Number class."""
self._obj = obj
[docs]
def truncate(self, nbDecimals: ee_int = 2) -> ee.Number:
"""Truncate a number to a given number of decimals.
Parameters:
nbDecimals: The number of decimals to truncate to.
Returns:
The truncated number.
Examples:
.. code-block:: python
import ee, geetools
ee.Initialize()
n = ee.Number(1.23456).geetools.truncate(3)
n.getInfo()
"""
nbDecimals = ee.Number(nbDecimals).toInt()
factor = ee.Number(10).pow(nbDecimals)
return self._obj.multiply(factor).toInt().divide(factor)