From 9f11db8e06385a726105bc63032320e80954a2fe Mon Sep 17 00:00:00 2001 From: Isira Seneviratne Date: Mon, 28 Jul 2025 09:02:52 +0530 Subject: [PATCH] Improve scale display --- .../org/schabi/newpipe/util/Localization.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/util/Localization.java b/app/src/main/java/org/schabi/newpipe/util/Localization.java index d47cb918e..da4edeca6 100644 --- a/app/src/main/java/org/schabi/newpipe/util/Localization.java +++ b/app/src/main/java/org/schabi/newpipe/util/Localization.java @@ -191,14 +191,20 @@ public final class Localization { final double value = (double) count; if (count >= 1000000000) { + final double shortenedValue = value / 1000000000; + final int scale = shortenedValue >= 100 ? 0 : 1; return context.getString(R.string.short_billion, - localizeNumber(round(value / 1000000000))); + localizeNumber(round(shortenedValue, scale))); } else if (count >= 1000000) { + final double shortenedValue = value / 1000000; + final int scale = shortenedValue >= 100 ? 0 : 1; return context.getString(R.string.short_million, - localizeNumber(round(value / 1000000))); + localizeNumber(round(shortenedValue, scale))); } else if (count >= 1000) { + final double shortenedValue = value / 1000; + final int scale = shortenedValue >= 100 ? 0 : 1; return context.getString(R.string.short_thousand, - localizeNumber(round(value / 1000, 0))); + localizeNumber(round(shortenedValue, scale))); } else { return localizeNumber(value); } @@ -416,10 +422,6 @@ public final class Localization { } } - private static double round(final double value) { - return round(value, 1); - } - private static double round(final double value, final int scale) { return new BigDecimal(value).setScale(scale, RoundingMode.HALF_UP).doubleValue(); }