From e4afdc475d892d846b5e93bd6d477b34dfbbc705 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9a=20Saviot?= Date: Wed, 13 Nov 2019 15:18:48 +0100 Subject: [PATCH] [poincare/decimal] Fix engineering notation that removed too many zeroes --- poincare/src/decimal.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/poincare/src/decimal.cpp b/poincare/src/decimal.cpp index 3167630b6..1aed6a8a1 100644 --- a/poincare/src/decimal.cpp +++ b/poincare/src/decimal.cpp @@ -24,7 +24,7 @@ void removeZeroAtTheEnd(Integer * i, int minimalNumbersOfDigits = 1) { Integer minimum = Integer((int64_t)std::pow(10.0, minimalNumbersOfDigits-1)); Integer minusMinimum = Integer(-(int64_t)std::pow(10.0, minimalNumbersOfDigits-1)); IntegerDivision d = Integer::Division(*i, base); - while (d.remainder.isZero() && (Integer::NaturalOrder(*i, minimum) > 0 || Integer::NaturalOrder(*i, minusMinimum) < 0)) { + while (d.remainder.isZero() && (Integer::NaturalOrder(d.quotient, minimum) >= 0 || Integer::NaturalOrder(d.quotient, minusMinimum) <= 0)) { *i = d.quotient; d = Integer::Division(*i, base); }