From 057a4973c7d6702081c19e0164d147afe3027215 Mon Sep 17 00:00:00 2001 From: fabianArbeit Date: Wed, 22 Jan 2025 15:15:05 +0100 Subject: [PATCH] fix rounding errors by first multiplying and then dividing --- LoadingBar.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/LoadingBar.java b/LoadingBar.java index 1da2185..9cc2745 100644 --- a/LoadingBar.java +++ b/LoadingBar.java @@ -338,8 +338,8 @@ public class LoadingBar { private static String fillLoadingBar(long initialMinutes, long passedMinutes, boolean progressive) { BigDecimal wholePercentage = BigDecimal.valueOf(100) - .divide(BigDecimal.valueOf(initialMinutes), MathContext.DECIMAL64) - .multiply(BigDecimal.valueOf(passedMinutes)); + .multiply(BigDecimal.valueOf(passedMinutes) + .divide(BigDecimal.valueOf(initialMinutes), MathContext.DECIMAL64)); long remainingMinutes = initialMinutes - passedMinutes; int numberOfEquals = wholePercentage.intValue(); var sb = new StringBuilder("[");