package decimal

import "github.com/ydb-platform/ydb-go-sdk/v3/internal/decimal"

Index

Functions

func Append

func Append(p []byte, x *big.Int) []byte

func BigIntToByte

func BigIntToByte(x *big.Int, precision, scale uint32) (p [16]byte)

BigIntToByte returns the 16-byte array representation of x.

If x value does not fit in 16 bytes with given precision, it returns 16-byte representation of infinity or negative infinity value accordingly to x's sign.

func Err

func Err() *big.Int

Err returns "error" value.

func Format

func Format(x *big.Int, precision, scale uint32) string

Format returns the string representation of x with the given precision and scale.

func FromBytes

func FromBytes(bts []byte, precision, scale uint32) *big.Int

FromBytes converts bytes representation of decimal to big integer. Most callers should use FromInt128().

If given bytes contains value that is greater than given precision it returns infinity or negative infinity value accordingly the bytes sign.

func FromInt128

func FromInt128(p [16]byte, precision, scale uint32) *big.Int

FromInt128 returns big integer from given array. That is, it interprets 16-byte array as 128-bit integer.

func Inf

func Inf() *big.Int

Inf returns infinity value.

func IsErr

func IsErr(x *big.Int) bool

IsErr reports whether x is an "error" value.

func IsInf

func IsInf(x *big.Int) bool

IsInf reports whether x is an infinity.

func IsNaN

func IsNaN(x *big.Int) bool

IsNaN reports whether x is a "not-a-number" value.

func NaN

func NaN() *big.Int

NaN returns "not-a-number" value.

func Parse

func Parse(s string, precision, scale uint32) (*big.Int, error)

Parse interprets a string s with the given precision and scale and returns the corresponding big integer.

Types

type ParseError

type ParseError struct {
	Err   error
	Input string
}

func (*ParseError) Error

func (p *ParseError) Error() string

func (*ParseError) Unwrap

func (p *ParseError) Unwrap() error

Source Files

decimal.go errors.go

Version
v3.38.2
Published
Sep 26, 2022
Platform
linux/amd64
Imports
4 packages
Last checked
1 minute ago

Tools for package owners.