diff --git a/src/lib_json/json_value.cpp b/src/lib_json/json_value.cpp index b6f41de..508f18f 100644 --- a/src/lib_json/json_value.cpp +++ b/src/lib_json/json_value.cpp @@ -852,9 +852,11 @@ bool Value::asBool() const { return value_.int_ ? true : false; case uintValue: return value_.uint_ ? true : false; - case realValue: - // According to JavaScript language zero or NaN is regarded as false - return std::fpclassify(value_.real_) != FP_ZERO && std::fpclassify(value_.real_) != FP_NAN; + case realValue: { + // According to JavaScript language zero or NaN is regarded as false + const auto value_classification = std::fpclassify(value_.real_); + return value_classification != FP_ZERO && value_classification != FP_NAN; + } default: break; }