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. |