| Home | Libraries | People | FAQ | More

###### value::as_double (1 of 2 overloads)

Return a reference to the underlying `double`, or throw an exception.

###### Synopsis

    double&
    as_double();

###### Description

If `is_double()` is `true`, returns a reference to the underlying `double`, otherwise throws an exception.

###### Complexity

Constant.

###### Exception Safety

Strong guarantee.

###### Exceptions

Type | Thrown On
--- | ---
`system_error` | `! this->is_double()`

###### Note

This function is intended for direct access to the underlying object, if it has the type `double`. It does not convert the underlying object to type `double` even if a lossless conversion is possible. If you are not sure which kind your `value` has, and you only care about getting a `double` number, consider using `to_number` instead.