You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by fa...@apache.org on 2022/12/15 12:10:02 UTC

svn commit: r1906013 - in /poi/trunk/poi/src: main/java/org/apache/poi/ss/formula/eval/TwoOperandNumericOperation.java test/java/org/apache/poi/ss/formula/functions/TestNumericFunction.java

Author: fanningpj
Date: Thu Dec 15 12:10:02 2022
New Revision: 1906013

URL: http://svn.apache.org/viewvc?rev=1906013&view=rev
Log:
revert accidental change to multiply/divide

Modified:
    poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/eval/TwoOperandNumericOperation.java
    poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/functions/TestNumericFunction.java

Modified: poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/eval/TwoOperandNumericOperation.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/eval/TwoOperandNumericOperation.java?rev=1906013&r1=1906012&r2=1906013&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/eval/TwoOperandNumericOperation.java (original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/eval/TwoOperandNumericOperation.java Thu Dec 15 12:10:02 2022
@@ -89,19 +89,17 @@ public abstract class TwoOperandNumericO
             if (d1 == 0.0) {
                 throw new EvaluationException(ErrorEval.DIV_ZERO);
             }
-            BigDecimal bd0 = new BigDecimal(d0);
-            BigDecimal bd1 = new BigDecimal(d1);
-            BigDecimal result = bd0.divide(bd1, MathContext.DECIMAL128);
-            return Double.parseDouble(NumberToTextConverter.toText(result.doubleValue()));
+            BigDecimal bd0 = new BigDecimal(NumberToTextConverter.toText(d0));
+            BigDecimal bd1 = new BigDecimal(NumberToTextConverter.toText(d1));
+            return bd0.divide(bd1, MathContext.DECIMAL128).doubleValue();
         }
     };
     public static final Function MultiplyEval = new TwoOperandNumericOperation() {
         @Override
         protected double evaluate(double d0, double d1) {
-            BigDecimal bd0 = new BigDecimal(d0);
-            BigDecimal bd1 = new BigDecimal(d1);
-            BigDecimal result = bd0.multiply(bd1);
-            return Double.parseDouble(NumberToTextConverter.toText(result.doubleValue()));
+            BigDecimal bd0 = new BigDecimal(NumberToTextConverter.toText(d0));
+            BigDecimal bd1 = new BigDecimal(NumberToTextConverter.toText(d1));
+            return bd0.multiply(bd1).doubleValue();
         }
     };
     public static final Function PowerEval = new TwoOperandNumericOperation() {

Modified: poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/functions/TestNumericFunction.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/functions/TestNumericFunction.java?rev=1906013&r1=1906012&r2=1906013&view=diff
==============================================================================
--- poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/functions/TestNumericFunction.java (original)
+++ poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/functions/TestNumericFunction.java Thu Dec 15 12:10:02 2022
@@ -50,7 +50,7 @@ final class TestNumericFunction {
         try (HSSFWorkbook wb = new HSSFWorkbook()) {
             HSSFCell cell = wb.createSheet().createRow(0).createCell(0);
             HSSFFormulaEvaluator fe = new HSSFFormulaEvaluator(wb);
-            assertDouble(fe, cell, "1.2*SQRT(5.678)", 2.85942651592937, 0);
+            assertDouble(fe, cell, "1.2*SQRT(5.678)", 2.85942651592938, 0);
         }
     }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org