Class FastDecimalFormatter

java.lang.Object
org.orekit.utils.formatting.FastDoubleFormatter
org.orekit.utils.formatting.FastDecimalFormatter

public class FastDecimalFormatter extends FastDoubleFormatter
Formatter for double numbers with low overhead.

This class is intended to be used when formatting large amounts of data with fixed formats like, for example, large ephemeris or measurement files.

Building the formatter is done once, and the formatter FastDoubleFormatter.appendTo(Appendable, double) or FastDoubleFormatter.toString(double) methods can be called hundreds of thousands of times, without incurring the overhead that would occur with String.format(). Some tests showed this formatter is about 5 times faster than String.format() with %{width}.{%precision}f format.

Instances of this class are immutable

Since:
13.0.3
Author:
Luc Maisonobe
  • Constructor Details

    • FastDecimalFormatter

      public FastDecimalFormatter(int width, int precision)
      Simple constructor.

      This constructor is equivalent to Formatter float format %{width}.{precision}f

      Parameters:
      width - number of characters to output
      precision - number of decimal precision
  • Method Details

    • getPrecision

      public int getPrecision()
      Get the precision.
      Returns:
      precision
    • appendRegularValueTo

      protected void appendRegularValueTo(Appendable appendable, double value) throws IOException
      Append one formatted value to an Appendable.
      Specified by:
      appendRegularValueTo in class FastDoubleFormatter
      Parameters:
      appendable - to append value to
      value - value to format
      Throws:
      IOException - if an I/O error occurs