From d457e6ad6ace714a56e2c789b4366e5714ef2102 Mon Sep 17 00:00:00 2001 From: Bananymous Date: Sun, 4 May 2025 13:41:06 +0300 Subject: [PATCH] LibC: Fix printf e/E modifier for negative exponents --- userspace/libraries/LibC/printf_impl.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/userspace/libraries/LibC/printf_impl.cpp b/userspace/libraries/LibC/printf_impl.cpp index bcdc8595..6d9746b7 100644 --- a/userspace/libraries/LibC/printf_impl.cpp +++ b/userspace/libraries/LibC/printf_impl.cpp @@ -240,9 +240,9 @@ static void floating_point_to_exponent_string(char* buffer, T value, bool upper, // Calculate which number to put as exponent int exponent = 0; - if (value != (T)0.0) + if (value != static_cast(0.0)) { - exponent = (int)BAN::Math::log10(value); + exponent = BAN::Math::floor(BAN::Math::log10(value)); value /= BAN::Math::pow(10.0, exponent); }