fix: shell print float
This commit is contained in:
parent
edd5754f56
commit
54b1f37b1d
|
@ -699,13 +699,13 @@ int taos_print_row_with_size(char *str, uint32_t size, TAOS_ROW row, TAOS_FIELD
|
||||||
case TSDB_DATA_TYPE_FLOAT: {
|
case TSDB_DATA_TYPE_FLOAT: {
|
||||||
float fv = 0;
|
float fv = 0;
|
||||||
fv = GET_FLOAT_VAL(row[i]);
|
fv = GET_FLOAT_VAL(row[i]);
|
||||||
len += tsnprintf(str + len, size - len, "%f", fv);
|
len += snprintf(str + len, size - len, "%.*g", FLT_DIG, fv);
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
case TSDB_DATA_TYPE_DOUBLE: {
|
case TSDB_DATA_TYPE_DOUBLE: {
|
||||||
double dv = 0;
|
double dv = 0;
|
||||||
dv = GET_DOUBLE_VAL(row[i]);
|
dv = GET_DOUBLE_VAL(row[i]);
|
||||||
len += tsnprintf(str + len, size - len, "%lf", dv);
|
len += snprintf(str + len, size - len, "%.*g", DBL_DIG, dv);
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
case TSDB_DATA_TYPE_VARBINARY: {
|
case TSDB_DATA_TYPE_VARBINARY: {
|
||||||
|
|
|
@ -672,12 +672,8 @@ void shellPrintField(const char *val, TAOS_FIELD *field, int32_t width, int32_t
|
||||||
if (tsEnableScience) {
|
if (tsEnableScience) {
|
||||||
printf("%*.7e", width, GET_FLOAT_VAL(val));
|
printf("%*.7e", width, GET_FLOAT_VAL(val));
|
||||||
} else {
|
} else {
|
||||||
n = tsnprintf(buf, LENGTH, "%*.7f", width, GET_FLOAT_VAL(val));
|
n = snprintf(buf, LENGTH, "%.*g", FLT_DIG, GET_FLOAT_VAL(val));
|
||||||
if (n > SHELL_FLOAT_WIDTH) {
|
printf("%s", buf);
|
||||||
printf("%*.7e", width, GET_FLOAT_VAL(val));
|
|
||||||
} else {
|
|
||||||
printf("%s", buf);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case TSDB_DATA_TYPE_DOUBLE:
|
case TSDB_DATA_TYPE_DOUBLE:
|
||||||
|
@ -685,12 +681,8 @@ void shellPrintField(const char *val, TAOS_FIELD *field, int32_t width, int32_t
|
||||||
snprintf(buf, LENGTH, "%*.15e", width, GET_DOUBLE_VAL(val));
|
snprintf(buf, LENGTH, "%*.15e", width, GET_DOUBLE_VAL(val));
|
||||||
printf("%s", buf);
|
printf("%s", buf);
|
||||||
} else {
|
} else {
|
||||||
n = tsnprintf(buf, LENGTH, "%*.15f", width, GET_DOUBLE_VAL(val));
|
n = snprintf(buf, LENGTH, "%.*g", DBL_DIG, GET_DOUBLE_VAL(val));
|
||||||
if (n > SHELL_DOUBLE_WIDTH) {
|
printf("%s", buf);
|
||||||
printf("%*.15e", width, GET_DOUBLE_VAL(val));
|
|
||||||
} else {
|
|
||||||
printf("%*s", width, buf);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case TSDB_DATA_TYPE_VARBINARY: {
|
case TSDB_DATA_TYPE_VARBINARY: {
|
||||||
|
|
Loading…
Reference in New Issue