From b0125e81652d75a3c035ebbd3defc5d50921e15b Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Tue, 20 May 2025 23:56:40 +0300 Subject: [PATCH] Slightly improved display of numbers approaching zero in stats charts. --- Telegram/SourceFiles/statistics/chart_rulers_data.cpp | 2 +- Telegram/SourceFiles/statistics/view/chart_rulers_view.cpp | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Telegram/SourceFiles/statistics/chart_rulers_data.cpp b/Telegram/SourceFiles/statistics/chart_rulers_data.cpp index 4f9471c8ce..6241901804 100644 --- a/Telegram/SourceFiles/statistics/chart_rulers_data.cpp +++ b/Telegram/SourceFiles/statistics/chart_rulers_data.cpp @@ -22,7 +22,7 @@ constexpr auto kStep = 5.; } [[nodiscard]] QString Format(ChartValue absoluteValue) { - constexpr auto kTooMuch = ChartValue(10'000); + static constexpr auto kTooMuch = ChartValue(10'000); return (absoluteValue >= kTooMuch) ? Lang::FormatCountToShort(absoluteValue).string : QString::number(absoluteValue); diff --git a/Telegram/SourceFiles/statistics/view/chart_rulers_view.cpp b/Telegram/SourceFiles/statistics/view/chart_rulers_view.cpp index 8a94d10844..fc8d98a653 100644 --- a/Telegram/SourceFiles/statistics/view/chart_rulers_view.cpp +++ b/Telegram/SourceFiles/statistics/view/chart_rulers_view.cpp @@ -20,8 +20,11 @@ namespace Statistic { namespace { [[nodiscard]] QString FormatF(float64 absoluteValue) { - constexpr auto kTooMuch = int(10'000); - return (absoluteValue >= kTooMuch) + static constexpr auto kTooMuch = int(10'000); + static constexpr auto kTooSmall = 1e-9; + return (std::abs(absoluteValue) <= kTooSmall) + ? u"0"_q + : (absoluteValue >= kTooMuch) ? Lang::FormatCountToShort(absoluteValue).string : QString::number(absoluteValue); }