scaling issue

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1894366 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
PJ Fanning 2021-10-18 22:40:14 +00:00
parent 3c3154ea8c
commit d14dc1c659
2 changed files with 5 additions and 4 deletions

View File

@ -46,11 +46,11 @@ import org.junit.jupiter.api.Test;
/**
* Class for spreadsheet-based tests, such as are used for cell formatting.
* This reads tests from the spreadsheet, as well as reading
* flags that can be used to paramterize these tests.
* flags that can be used to parameterize these tests.
* <p>
* Each test has four parts: The expected result (column A), the format string
* (column B), the value to format (column C), and a comma-separated list of
* categores that this test falls in. Normally all tests are run, but if the
* categories that this test falls in. Normally all tests are run, but if the
* flag "Categories" is not empty, only tests that have at least one category
* listed in "Categories" are run.
*/

View File

@ -16,6 +16,7 @@
==================================================================== */
package org.apache.poi.ss.format;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.text.FieldPosition;
@ -424,8 +425,8 @@ public class CellNumberFormatter extends CellFormatter {
@Override
public void formatValue(StringBuffer toAppendTo, Object valueObject) {
double value = ((Number) valueObject).doubleValue();
value *= scale;
BigDecimal bd = BigDecimal.valueOf(((Number) valueObject).doubleValue()).multiply(BigDecimal.valueOf(scale));
double value = bd.doubleValue();
// For negative numbers:
// - If the cell format has a negative number format, this method