Package mondrian.util

Class MondrianFloatingDecimal


  • class MondrianFloatingDecimal
    extends java.lang.Object
    Representation of a number as a list of digits.
    Author:
    tkafalas
    • Field Summary

      Fields 
      Modifier and Type Field Description
      (package private) int decExponent  
      (package private) char[] digits  
      (package private) boolean isExceptional  
      (package private) boolean isNegative  
      (package private) int nDigits  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int formatExponent​(char[] result, int i, boolean expSign, int minExpDigits)
      Appends decExponent to result string.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • isExceptional

        boolean isExceptional
      • isNegative

        boolean isNegative
      • decExponent

        int decExponent
      • digits

        char[] digits
      • nDigits

        int nDigits
    • Constructor Detail

      • MondrianFloatingDecimal

        public MondrianFloatingDecimal​(double d)
    • Method Detail

      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • formatExponent

        public int formatExponent​(char[] result,
                                  int i,
                                  boolean expSign,
                                  int minExpDigits)
        Appends decExponent to result string. Returns i plus the number of chars written.

        Implementation may assume that exponent has 3 or fewer digits.

        For example, given decExponent = 2, formatExponent(result, 5, true, 2) will write '0' into result[5] and '2' into result[6] and return 7.

        Parameters:
        result - Result buffer
        i - Initial offset into result buffer
        expSign - Whether to print a '+' sign if exponent is positive (always prints '-' if negative)
        minExpDigits - Minimum number of digits to write
        Returns:
        Offset into result buffer after writing chars