组合类型 |
struct | st_decimal_t |
宏定义 |
#define | string2decimal(A, B, C) internal_str2dec((A), (B), (C), 0) |
#define | string2decimal_fixed(A, B, C) internal_str2dec((A), (B), (C), 1) |
#define | decimal_make_zero(dec) |
#define | decimal_string_size(dec) |
#define | decimal_neg(dec) do { (dec)->sign^=1; } while(0) |
#define | E_DEC_OK 0 |
#define | E_DEC_TRUNCATED 1 |
#define | E_DEC_OVERFLOW 2 |
#define | E_DEC_DIV_ZERO 4 |
#define | E_DEC_BAD_NUM 8 |
#define | E_DEC_OOM 16 |
#define | E_DEC_ERROR 31 |
#define | E_DEC_FATAL_ERROR 30 |
类型定义 |
typedef int32 | decimal_digit_t |
typedef struct st_decimal_t | decimal_t |
枚举 |
enum | decimal_round_mode {
TRUNCATE = 0,
HALF_EVEN,
HALF_UP,
CEILING,
FLOOR
} |
函数 |
int | internal_str2dec (const char *from, decimal_t *to, char **end, my_bool fixed) |
int | decimal2string (decimal_t *from, char *to, int *to_len, int fixed_precision, int fixed_decimals, char filler) |
int | decimal2ulonglong (decimal_t *from, ulonglong *to) |
int | ulonglong2decimal (ulonglong from, decimal_t *to) |
int | decimal2longlong (decimal_t *from, longlong *to) |
int | longlong2decimal (longlong from, decimal_t *to) |
int | decimal2double (decimal_t *from, double *to) |
int | double2decimal (double from, decimal_t *to) |
int | decimal_actual_fraction (decimal_t *from) |
int | decimal2bin (decimal_t *from, uchar *to, int precision, int scale) |
int | bin2decimal (const uchar *from, decimal_t *to, int precision, int scale) |
int | decimal_size (int precision, int scale) |
int | decimal_bin_size (int precision, int scale) |
int | decimal_result_size (decimal_t *from1, decimal_t *from2, char op, int param) |
int | decimal_intg (decimal_t *from) |
int | decimal_add (decimal_t *from1, decimal_t *from2, decimal_t *to) |
int | decimal_sub (decimal_t *from1, decimal_t *from2, decimal_t *to) |
int | decimal_cmp (decimal_t *from1, decimal_t *from2) |
int | decimal_mul (decimal_t *from1, decimal_t *from2, decimal_t *to) |
int | decimal_div (decimal_t *from1, decimal_t *from2, decimal_t *to, int scale_incr) |
int | decimal_mod (decimal_t *from1, decimal_t *from2, decimal_t *to) |
int | decimal_round (decimal_t *from, decimal_t *to, int new_scale, decimal_round_mode mode) |
int | decimal_is_zero (decimal_t *from) |
void | max_decimal (int precision, int frac, decimal_t *to) |