com.singularsys.jep.functions
Class Round

java.lang.Object
  extended by com.singularsys.jep.functions.PostfixMathCommand
      extended by com.singularsys.jep.functions.Round
All Implemented Interfaces:
PostfixMathCommandI, java.io.Serializable
Direct Known Subclasses:
RInt

public class Round
extends PostfixMathCommand

A PostfixMathCommandI which rounds a number.
round(a) adds 0.5 to the argument and returns the closest integer.
round(a,3) rounds the argument to 3 decimal places.

Note: This class was changed in version 3.4. Prior to 3.4, this class used the Math.rint method. In 3.4 and future releases Math.round will be used instead. The effect is changing the rounding behaviour when the input is equally close to two integers, Math.round rounds 1.5 down and Math.rint round it up.

Author:
Richard Morris
See Also:
RInt, Serialized Form

Field Summary
 
Fields inherited from class com.singularsys.jep.functions.PostfixMathCommand
curNumberOfParameters, name, NaN, numberOfParameters
 
Constructor Summary
Round()
           
 
Method Summary
 boolean checkNumberOfParameters(int n)
          Must have one or more parameter
protected  double round(double param)
          The rounding method which implements the core rounding operation used in this class.
 java.lang.Object round(java.lang.Object param)
           
 void run(java.util.Stack<java.lang.Object> inStack)
          Run the function on the stack.
 
Methods inherited from class com.singularsys.jep.functions.PostfixMathCommand
asArray, asBool, asDouble, asInt, asLong, asStrictInt, asString, checkStack, getName, getNumberOfParameters, setCurNumberOfParameters, setName, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Round

public Round()
Method Detail

checkNumberOfParameters

public boolean checkNumberOfParameters(int n)
Must have one or more parameter

Specified by:
checkNumberOfParameters in interface PostfixMathCommandI
Overrides:
checkNumberOfParameters in class PostfixMathCommand
Parameters:
n - number of parameters function will be called with.
Returns:
false if an illegal number of parameters is supplied, true otherwise.

run

public void run(java.util.Stack<java.lang.Object> inStack)
         throws EvaluationException
Description copied from interface: PostfixMathCommandI
Run the function on the stack. Pops the arguments from the stack, and pushes the result on the top of the stack.

Throws:
EvaluationException

round

public java.lang.Object round(java.lang.Object param)
                       throws EvaluationException
Throws:
EvaluationException

round

protected double round(double param)
The rounding method which implements the core rounding operation used in this class. Other subclasses (such as RInt) can override this to perform custom rounding.

Parameters:
param -
Returns:
the rounded value
Since:
3.4.0


Copyright © 2010 Singular Systems http://www.singularsys.com/jep