Package org.orekit.utils.formatting
Class FastDoubleFormatter
java.lang.Object
org.orekit.utils.formatting.FastDoubleFormatter
- Direct Known Subclasses:
FastDecimalFormatter,FastScientificFormatter
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
appendTo(Appendable, double) or 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:
- 14.0
- Author:
- Luc Maisonobe
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract voidappendRegularValueTo(Appendable appendable, double value) Append one formatted value to anAppendable.voidappendTo(Appendable appendable, double value) Append one formatted value to anAppendable.intgetWidth()Get the width.toString(double value) Format one value.
-
Constructor Details
-
FastDoubleFormatter
protected FastDoubleFormatter(int width) Simple constructor.This constructor is equivalent to
Formatterfloat format%{width}.{precision}f- Parameters:
width- number of characters to output
-
-
Method Details
-
getWidth
public int getWidth()Get the width.- Returns:
- width
-
appendTo
Append one formatted value to anAppendable.- Parameters:
appendable- to append value tovalue- value to format- Throws:
IOException- if an I/O error occurs
-
appendRegularValueTo
protected abstract void appendRegularValueTo(Appendable appendable, double value) throws IOException Append one formatted value to anAppendable.- Parameters:
appendable- to append value tovalue- value to format- Throws:
IOException- if an I/O error occurs
-
toString
Format one value.- Parameters:
value- value to format- Returns:
- formatted string
-