org.pentaho.reporting.libraries.formula.util

Class NumberUtil

public class NumberUtil extends Object

========================================= LibFormula : a free Java formula library ========================================= Project Info: http://reporting.pentaho.org/libformula/ (C) Copyright 2006-2008, by Pentaho Corporation and Contributors. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. [Java is a trademark or registered trademark of Sun Microsystems, Inc. in the United States and other countries.] ------------ NumberUtil.java ------------
Field Summary
static BigDecimalDELTA
static BigDecimalINT_TEST_DELTA
Method Summary
static BigDecimalgetAsBigDecimal(Number number)
static BigDecimalperformIntRounding(BigDecimal n)
Performs a rounding to get a more reliable (int) cast.
static BigDecimalperformTuneRounding(BigDecimal n)
static BigDecimalremoveTrailingZeros(BigDecimal bd)

Field Detail

DELTA

public static final BigDecimal DELTA

INT_TEST_DELTA

public static final BigDecimal INT_TEST_DELTA

Method Detail

getAsBigDecimal

public static BigDecimal getAsBigDecimal(Number number)

performIntRounding

public static BigDecimal performIntRounding(BigDecimal n)
Performs a rounding to get a more reliable (int) cast. This makes sure that nearly exact values like 0.9999999..9999 are correctly interpreted as 1 while exact values like 0.99 are interpreted as 0.

Parameters: n

Returns:

performTuneRounding

public static BigDecimal performTuneRounding(BigDecimal n)

removeTrailingZeros

public static BigDecimal removeTrailingZeros(BigDecimal bd)