From 11a95166f45cb5d902209ded5d08cc27b9657ef5 Mon Sep 17 00:00:00 2001 From: hxy7yx <1595670487@qq.com> Date: Fri, 1 Nov 2024 11:14:15 +0800 Subject: [PATCH] fix(write):correct write value verification --- src/adapter/driver/driver.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/adapter/driver/driver.c b/src/adapter/driver/driver.c index a6d8d0c4..774036ae 100644 --- a/src/adapter/driver/driver.c +++ b/src/adapter/driver/driver.c @@ -925,7 +925,8 @@ int check_value_decimal(neu_type_e write_type, double result, int64_t value_min, return NEU_ERR_PLUGIN_TAG_TYPE_MISMATCH; } else if (result < value_min || result > value_max) { return NEU_ERR_PLUGIN_TAG_VALUE_OUT_OF_RANGE; - } else if (almost_equal(ceil(result), result, EPSILON)) { + } else if (almost_equal(ceil(result), result, EPSILON) || + almost_equal(floor(result), result, EPSILON)) { return NEU_ERR_SUCCESS; } else { return NEU_ERR_PLUGIN_TAG_TYPE_MISMATCH; @@ -975,7 +976,8 @@ int is_value_in_range(neu_type_e tag_type, int64_t value, double value_d, case NEU_TYPE_UINT64: if (write_type != NEU_TYPE_INT64 && write_type != NEU_TYPE_DOUBLE) { return NEU_ERR_PLUGIN_TAG_TYPE_MISMATCH; - } else if (almost_equal(ceil(result), result, EPSILON)) { + } else if (almost_equal(ceil(result), result, EPSILON) || + almost_equal(floor(result), result, EPSILON)) { return NEU_ERR_SUCCESS; } else { return NEU_ERR_PLUGIN_TAG_TYPE_MISMATCH;