gov.sns.tools.text
Class DoubleToString

java.lang.Object
  |
  +--gov.sns.tools.text.DoubleToString

public class DoubleToString
extends java.lang.Object

This algorithm for appending doubles to StringBuffer is borrowed from "Java Performance Tuning" by Jack Shirazi. He explains how the JDK implementation is "hideously underoptimized". This implementation is considerably more efficient both in terms of speed and memory usage.


Field Summary
static char[] DOT_ZERO
           
static char[] DOUBLE_ZERO
           
static char[] DOUBLE_ZERO0
           
static char[] DOUBLE_ZERO2
           
static char[] INFINITY
           
static char[] NaN
           
static char[] NEGATIVE_INFINITY
           
static char[] POSITIVE_INFINITY
           
static char[][] ZEROS
           
 
Constructor Summary
DoubleToString()
           
 
Method Summary
 void append(java.lang.StringBuffer s, double d)
           
 void append(java.lang.StringBuffer s, int i)
           
 void appendAsDouble(java.lang.StringBuffer s, long l, long l_mag, int d_magnitude, int numFractDigits, char decimalPoint, char thousandsSeparator, int numDigitsSeparated, char negativePrefix, char negativeSuffix)
           
 void appendFormatted(java.lang.StringBuffer s, double d, int numFractDigits, char decimalPoint, char thousandsSeparator, int numDigitsSeparated, char negativePrefix, char negativeSuffix)
           
static long getNthDigit(long l, int n)
           
static void main(java.lang.String[] args)
           
static void main1(java.lang.String[] args)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INFINITY

public static final char[] INFINITY

NaN

public static final char[] NaN

ZEROS

public static final char[][] ZEROS

NEGATIVE_INFINITY

public static final char[] NEGATIVE_INFINITY

POSITIVE_INFINITY

public static final char[] POSITIVE_INFINITY

DOUBLE_ZERO

public static final char[] DOUBLE_ZERO

DOUBLE_ZERO2

public static final char[] DOUBLE_ZERO2

DOUBLE_ZERO0

public static final char[] DOUBLE_ZERO0

DOT_ZERO

public static final char[] DOT_ZERO
Constructor Detail

DoubleToString

public DoubleToString()
Method Detail

appendFormatted

public void appendFormatted(java.lang.StringBuffer s,
                            double d,
                            int numFractDigits,
                            char decimalPoint,
                            char thousandsSeparator,
                            int numDigitsSeparated,
                            char negativePrefix,
                            char negativeSuffix)

appendAsDouble

public void appendAsDouble(java.lang.StringBuffer s,
                           long l,
                           long l_mag,
                           int d_magnitude,
                           int numFractDigits,
                           char decimalPoint,
                           char thousandsSeparator,
                           int numDigitsSeparated,
                           char negativePrefix,
                           char negativeSuffix)

getNthDigit

public static long getNthDigit(long l,
                               int n)

main

public static void main(java.lang.String[] args)

main1

public static void main1(java.lang.String[] args)

append

public void append(java.lang.StringBuffer s,
                   double d)

append

public void append(java.lang.StringBuffer s,
                   int i)