org.h2.value

## Class ValueDouble

- java.lang.Object
- - org.h2.value.Value
  - - org.h2.value.ValueDouble

    public class ValueDouble
    extends Value

Implementation of the DOUBLE data type.

### Nested Class Summary

### Nested classes/interfaces inherited from class org.h2.value.Value

`Value.ValueBlob, Value.ValueClob`

### Field Summary

Fields
`static int` `DISPLAY_SIZE` The maximum display size of a double.
`static int` `PRECISION` The precision in digits.
`static long` `ZERO_BITS` Double.doubleToLongBits(0.0)

### Fields inherited from class org.h2.value.Value

`ARRAY, BLOB, BOOLEAN, BYTE, BYTES, CLOB, DATE, DECIMAL, DOUBLE, FLOAT, GEOMETRY, INT, JAVA_OBJECT, LONG, NULL, RESULT_SET, SHORT, STRING, STRING_FIXED, STRING_IGNORECASE, TIME, TIMESTAMP, TIMESTAMP_TZ, TYPE_COUNT, UNKNOWN, UUID`

### Method Summary

Methods
`Value` `add(Value v)` Add a value and return the result.
`protected int` `compareSecure(Value o, CompareMode mode)` Compare the value with another value of the same type.
`Value` `divide(Value v)` Divide by a value and return the result.
`boolean` `equals(java.lang.Object other)` Check if the two values have the same hash code.
`static ValueDouble` `get(double d)` Get or create double value for the given double.
`int` `getDisplaySize()` Get the display size in characters.
`double` `getDouble()`
`java.lang.Object` `getObject()` Get the value as an object.
`long` `getPrecision()` Get the precision.
`int` `getScale()`
`int` `getSignum()`
`java.lang.String` `getSQL()` Get the SQL expression for this value.
`java.lang.String` `getString()` Get the value as a string.
`int` `getType()` Get the value type.
`int` `hashCode()`
`ValueDouble` `modulus(Value v)` Take the modulus with a value and return the result.
`Value` `multiply(Value v)` Multiply with a value and return the result.
`Value` `negate()` Return -value if this value support arithmetic operations.
`void` `set(java.sql.PreparedStatement prep, int parameterIndex)` Set the value as a parameter in a prepared statement.
`Value` `subtract(Value v)` Subtract a value and return the result.

### Methods inherited from class org.h2.value.Value

`checkPrecision, clearCache, compareTo, compareTypeSafe, convertPrecision, convertScale, convertTo, copy, copyToResult, copyToTemp, getBigDecimal, getBoolean, getByte, getBytes, getBytesNoCopy, getDataHandler, getDate, getFloat, getHigherOrder, getInputStream, getInt, getLong, getMemory, getReader, getResultSet, getShort, getSmall, getTableId, getTime, getTimestamp, getTraceSQL, isLinkedToTable, remove, throwUnsupportedExceptionForType, toString`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Field Detail

#### PRECISION

    public static final int PRECISION

The precision in digits.

See Also:
  Constant Field Values

#### DISPLAY_SIZE

    public static final int DISPLAY_SIZE

The maximum display size of a double. Example: -3.3333333333333334E-100

See Also:
  Constant Field Values

#### ZERO_BITS

    public static final long ZERO_BITS

Double.doubleToLongBits(0.0)

### Method Detail

#### add

    public Value add(Value v)

Description copied from class: `Value`
Add a value and return the result.

Overrides:
  `add` in class `Value`
Parameters:
  `v` - the value to add
Returns:
  the result

#### subtract

    public Value subtract(Value v)

Description copied from class: `Value`
Subtract a value and return the result.

Overrides:
  `subtract` in class `Value`
Parameters:
  `v` - the value to subtract
Returns:
  the result

#### negate

    public Value negate()

Description copied from class: `Value`
Return -value if this value support arithmetic operations.

Overrides:
  `negate` in class `Value`
Returns:
  the negative

#### multiply

    public Value multiply(Value v)

Description copied from class: `Value`
Multiply with a value and return the result.

Overrides:
  `multiply` in class `Value`
Parameters:
  `v` - the value to multiply with
Returns:
  the result

#### divide

    public Value divide(Value v)

Description copied from class: `Value`
Divide by a value and return the result.

Overrides:
  `divide` in class `Value`
Parameters:
  `v` - the value to divide by
Returns:
  the result

#### modulus

    public ValueDouble modulus(Value v)

Description copied from class: `Value`
Take the modulus with a value and return the result.

Overrides:
  `modulus` in class `Value`
Parameters:
  `v` - the value to take the modulus with
Returns:
  the result

#### getSQL

    public java.lang.String getSQL()

Description copied from class: `Value`
Get the SQL expression for this value.

Specified by:
  `getSQL` in class `Value`
Returns:
  the SQL expression

#### getType

    public int getType()

Description copied from class: `Value`
Get the value type.

Specified by:
  `getType` in class `Value`
Returns:
  the type

#### compareSecure

    protected int compareSecure(Value o,
                    CompareMode mode)

Description copied from class: `Value`
Compare the value with another value of the same type.

Specified by:
  `compareSecure` in class `Value`
Parameters:
  `o` - the other value
  `mode` - the compare mode
Returns:
  0 if both values are equal, -1 if the other value is smaller, and 1 otherwise

#### getSignum

    public int getSignum()

Overrides:
  `getSignum` in class `Value`

#### getDouble

    public double getDouble()

Overrides:
  `getDouble` in class `Value`

#### getString

    public java.lang.String getString()

Description copied from class: `Value`
Get the value as a string.

Specified by:
  `getString` in class `Value`
Returns:
  the string

#### getPrecision

    public long getPrecision()

Description copied from class: `Value`
Get the precision.

Specified by:
  `getPrecision` in class `Value`
Returns:
  the precision

#### getScale

    public int getScale()

Overrides:
  `getScale` in class `Value`

#### hashCode

    public int hashCode()

Specified by:
  `hashCode` in class `Value`

#### getObject

    public java.lang.Object getObject()

Description copied from class: `Value`
Get the value as an object.

Specified by:
  `getObject` in class `Value`
Returns:
  the object

#### set

    public void set(java.sql.PreparedStatement prep,
           int parameterIndex)
             throws java.sql.SQLException

Description copied from class: `Value`
Set the value as a parameter in a prepared statement.

Specified by:
  `set` in class `Value`
Parameters:
  `prep` - the prepared statement
  `parameterIndex` - the parameter index
Throws:
  `java.sql.SQLException`

#### get

    public static ValueDouble get(double d)

Get or create double value for the given double.

Parameters:
  `d` - the double
Returns:
  the value

#### getDisplaySize

    public int getDisplaySize()

Description copied from class: `Value`
Get the display size in characters.

Specified by:
  `getDisplaySize` in class `Value`
Returns:
  the display size

#### equals

    public boolean equals(java.lang.Object other)

Description copied from class: `Value`
Check if the two values have the same hash code. No data conversion is made; this method returns false if the other object is not of the same class. For some values, compareTo may return 0 even if equals return false. Example: ValueDecimal 0.0 and 0.00.

Specified by:
  `equals` in class `Value`
Parameters:
  `other` - the other value
Returns:
  true if they are equal