public final class DoubleFormatUtil
extends java.lang.Object
The contract for the format methods is this one: if the source is greater than or equal to 1 (in absolute value), use the decimals parameter to define the number of decimal digits; else, use the precision parameter to define the number of decimal digits.
A few examples (consider decimals being 4 and precision being 8):
Modifier and Type | Method | Description |
---|---|---|
static void |
formatDouble(double source,
int decimals,
int precision,
java.lang.StringBuffer target) |
Rounds the given source value at the given precision
and writes the rounded value into the given target
|
static void |
formatDoubleFast(double source,
int decimals,
int precision,
java.lang.StringBuffer target) |
Rounds the given source value at the given precision
and writes the rounded value into the given target
|
static void |
formatDoublePrecise(double source,
int decimals,
int precision,
java.lang.StringBuffer target) |
Rounds the given source value at the given precision
and writes the rounded value into the given target
|
static int |
getExponant(double value) |
Returns the exponent of the given value
|
static long |
tenPow(int n) |
Returns ten to the power of n
|
public static void formatDouble(double source, int decimals, int precision, java.lang.StringBuffer target)
source
- the source value to rounddecimals
- the decimals to round at (use if abs(source) ≥ 1.0)precision
- the precision to round at (use if abs(source) < 1.0)target
- the buffer to write topublic static void formatDoublePrecise(double source, int decimals, int precision, java.lang.StringBuffer target)
This method internally uses the String representation of the source value, in order to avoid any double precision computation error.
source
- the source value to rounddecimals
- the decimals to round at (use if abs(source) ≥ 1.0)precision
- the precision to round at (use if abs(source) < 1.0)target
- the buffer to write topublic static long tenPow(int n)
n
- the nth power of ten to getpublic static void formatDoubleFast(double source, int decimals, int precision, java.lang.StringBuffer target)
This method internally uses double precision computation and rounding, so the result may not be accurate (see formatDouble method for conditions).
source
- the source value to rounddecimals
- the decimals to round at (use if abs(source) ≥ 1.0)precision
- the precision to round at (use if abs(source) < 1.0)target
- the buffer to write topublic static int getExponant(double value)
value
- the value to get the exponent fromCopyright 1999-2016 The Apache Software Foundation. All Rights Reserved.