/**
* 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.
*/
==================================================================== */
package org.apache.poi.ss.format;
+import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.text.FieldPosition;
@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