# Class OtpErlangDouble

java.lang.Object
com.ericsson.otp.erlang.OtpErlangObject
com.ericsson.otp.erlang.OtpErlangDouble

All Implemented Interfaces:
  `Serializable, Cloneable`

Direct Known Subclasses:
  `OtpErlangFloat`

public class OtpErlangDouble extends OtpErlangObject
Provides a Java representation of Erlang floats and doubles. Erlang defines only one floating point numeric type, however this class and its subclass `OtpErlangFloat` are used to provide representations corresponding to the Java types Double and Float.

See Also:
  - Serialized Form

## Nested Class Summary

### Nested classes/interfaces inherited from class OtpErlangObject

`OtpErlangObject.Hash`

## Field Summary

### Fields inherited from class OtpErlangObject

`hashCodeValue`

## Constructor Summary

Constructors
Constructor
Description
`OtpErlangDouble(double d)`
Create an Erlang float from the given double value.
`OtpErlangDouble(OtpInputStream buf)`
Create an Erlang float from a stream containing a double encoded in Erlang external format.

## Method Summary

Modifier and Type
Method
Description
`protected int`
`doHashCode()`
`double`
`doubleValue()`
Get the value, as a double.
`void`
`encode(OtpOutputStream buf)`
Convert this double to the equivalent Erlang external representation.
`boolean`
`equals(Object o)`
Determine if two floats are equal.
`float`
`floatValue()`
Get the value, as a float.
`String`
`toString()`
Get the string representation of this double.

### Methods inherited from class OtpErlangObject

`bind, clone, decode, hashCode, match`

### Methods inherited from class Object

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

## Constructor Details

### OtpErlangDouble

public OtpErlangDouble(double d)
Create an Erlang float from the given double value.

### OtpErlangDouble

public OtpErlangDouble(OtpInputStream buf) throws OtpErlangDecodeException
Create an Erlang float from a stream containing a double encoded in Erlang external format.

Parameters:
  `buf` - the stream containing the encoded value.
Throws:
  `OtpErlangDecodeException` - if the buffer does not contain a valid external representation of an Erlang float.

## Method Details

### doubleValue

public double doubleValue()
Get the value, as a double.

Returns:
  the value of this object, as a double.

### floatValue

public float floatValue() throws OtpErlangRangeException
Get the value, as a float.

Returns:
  the value of this object, as a float.
Throws:
  `OtpErlangRangeException` - if the value cannot be represented as a float.

### toString

public String toString()
Get the string representation of this double.

Specified by:
  `toString` in class `OtpErlangObject`
Returns:
  the string representation of this double.

### encode

public void encode(OtpOutputStream buf)
Convert this double to the equivalent Erlang external representation.

Specified by:
  `encode` in class `OtpErlangObject`
Parameters:
  `buf` - an output stream to which the encoded value should be written.

### equals

public boolean equals(Object o)
Determine if two floats are equal. Floats are equal if they contain the same value.

Specified by:
  `equals` in class `OtpErlangObject`
Parameters:
  `o` - the float to compare to.
Returns:
  true if the floats have the same value.

### doHashCode

protected int doHashCode()

Overrides:
  `doHashCode` in class `OtpErlangObject`