diff --git a/Userland/Libraries/LibJS/Runtime/Value.h b/Userland/Libraries/LibJS/Runtime/Value.h index 4bf25007a8..fddd33cf81 100644 --- a/Userland/Libraries/LibJS/Runtime/Value.h +++ b/Userland/Libraries/LibJS/Runtime/Value.h @@ -109,7 +109,7 @@ public: explicit Value(double value) { - if (value >= NumericLimits::min() && value <= NumericLimits::max() && static_cast(value) == value) { + if (value >= NumericLimits::min() && value <= NumericLimits::max() && trunc(value) == value && value != -0.0) { m_type = Type::Int32; m_value.as_i32 = static_cast(value); } else {