fix: float display issue
This commit is contained in:
parent
eaea66cf48
commit
726594b926
|
@ -241,14 +241,14 @@ typedef struct {
|
|||
case TSDB_DATA_TYPE_FLOAT: { \
|
||||
int32_t n = snprintf(_output, (int32_t)(_outputBytes), "%f", *(float *)(_input)); \
|
||||
if (n >= (_outputBytes)) { \
|
||||
snprintf(_output, (int32_t)(_outputBytes), "%*.7f", (int32_t)((_outputBytes) - 1), *(float *)(_input)); \
|
||||
snprintf(_output, (int32_t)(_outputBytes), "%.7e", *(float *)(_input)); \
|
||||
} \
|
||||
break; \
|
||||
} \
|
||||
case TSDB_DATA_TYPE_DOUBLE: { \
|
||||
int32_t n = snprintf(_output, (int32_t)(_outputBytes), "%f", *(double *)(_input)); \
|
||||
if (n >= (_outputBytes)) { \
|
||||
snprintf(_output, (int32_t)(_outputBytes), "%*.7f", (int32_t)((_outputBytes) - 1), *(double *)(_input)); \
|
||||
snprintf(_output, (int32_t)(_outputBytes), "%.15e", *(double *)(_input)); \
|
||||
} \
|
||||
break; \
|
||||
} \
|
||||
|
|
|
@ -2085,7 +2085,8 @@ int32_t castFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam *pOutp
|
|||
(void)memcpy(varDataVal(output), convBuf, len);
|
||||
varDataSetLen(output, len);
|
||||
} else {
|
||||
NUM_TO_STRING(inputType, input, bufSize, buf);
|
||||
int32_t outputSize = TMIN(outputLen - VARSTR_HEADER_SIZE, bufSize);
|
||||
NUM_TO_STRING(inputType, input, outputSize, buf);
|
||||
int32_t len = (int32_t)strlen(buf);
|
||||
len = (outputLen - VARSTR_HEADER_SIZE) > len ? len : (outputLen - VARSTR_HEADER_SIZE);
|
||||
(void)memcpy(varDataVal(output), buf, len);
|
||||
|
|
Loading…
Reference in New Issue