decimal
Helper methods for working with Python Decimals.
bytes_required(value)
¶
Return the minimum number of bytes needed to serialize a decimal or unscaled value.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
int | Decimal
|
a Decimal value or unscaled int value. |
required |
Returns:
Name | Type | Description |
---|---|---|
int |
int
|
the minimum number of bytes needed to serialize the value. |
Source code in pyiceberg/utils/decimal.py
bytes_to_decimal(value, scale)
¶
Return a decimal from the bytes.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
bytes
|
tbe bytes to be converted into a decimal. |
required |
scale
|
int
|
the scale of the decimal. |
required |
Returns:
Name | Type | Description |
---|---|---|
Decimal |
Decimal
|
the scaled decimal. |
Source code in pyiceberg/utils/decimal.py
decimal_required_bytes(precision)
¶
Compute the number of bytes required to store a precision.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
precision
|
int
|
The number of digits to store. |
required |
Returns:
Type | Description |
---|---|
int
|
The number of bytes required to store a decimal with a certain precision. |
Source code in pyiceberg/utils/decimal.py
decimal_to_bytes(value, byte_length=None)
¶
Return a byte representation of a decimal.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
Decimal
|
a decimal value. |
required |
byte_length
|
int
|
The number of bytes. |
None
|
Returns: bytes: the unscaled value of the Decimal as bytes.
Source code in pyiceberg/utils/decimal.py
decimal_to_unscaled(value)
¶
Get an unscaled value given a Decimal value.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
Decimal
|
A Decimal instance. |
required |
Returns:
Name | Type | Description |
---|---|---|
int |
int
|
The unscaled value. |
Source code in pyiceberg/utils/decimal.py
truncate_decimal(value, width)
¶
Get a truncated Decimal value given a decimal value and a width.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
Decimal
|
a decimal value. |
required |
width
|
int
|
A width for the returned Decimal instance. |
required |
Returns: Decimal: A truncated Decimal instance.
Source code in pyiceberg/utils/decimal.py
unscaled_to_decimal(unscaled, scale)
¶
Get a scaled Decimal value given an unscaled value and a scale.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
unscaled
|
int
|
An unscaled value. |
required |
scale
|
int
|
A scale to set for the returned Decimal instance. |
required |
Returns:
Name | Type | Description |
---|---|---|
Decimal |
Decimal
|
A scaled Decimal instance. |