# Interface ApfloatBuilder

All Known Implementing Classes:
  `DoubleApfloatBuilder, FloatApfloatBuilder, IntApfloatBuilder, LongApfloatBuilder`

public interface ApfloatBuilder
An ApfloatBuilder contains factory methods to create new instances of `ApfloatImpl` implementations.

Version:
  1.16.0
Author:
  Mikko Tommila

- ## Method Summary

  Modifier and Type
  Method
  Description
  `ApfloatImpl`
  `createApfloat(double value, long precision, int radix)`
  Create a new `ApfloatImpl` instance from a `double`.
  `ApfloatImpl`
  `createApfloat(long value, long precision, int radix)`
  Create a new `ApfloatImpl` instance from a `long`.
  `ApfloatImpl`
  `createApfloat(PushbackReader in, long precision, int radix, boolean isInteger)`
  Create a new `ApfloatImpl` instance reading from a stream.
  `ApfloatImpl`
  `createApfloat(PushbackReader in, long precision, int radix, boolean isInteger, long initialSize)`
  Create a new `ApfloatImpl` instance reading from a stream.
  `ApfloatImpl`
  `createApfloat(String value, long precision, int radix, boolean isInteger)`
  Create a new `ApfloatImpl` instance from a `String`.

- ## Method Details

  - ### createApfloat

    ApfloatImpl createApfloat(String value, long precision, int radix, boolean isInteger) throws NumberFormatException, ApfloatRuntimeException
    Create a new `ApfloatImpl` instance from a `String`.
    Parameters:
      `value` - The string to be parsed to a number.
      `precision` - The precision of the number (in digits of the radix).
      `radix` - The radix in which the number is created.
      `isInteger` - Specifies if the number to be parsed from the string is to be treated as an integer or not.
    Returns:
      A new `ApfloatImpl`.
    Throws:
      `NumberFormatException` - If the number is not valid.
      `ApfloatRuntimeException`

  - ### createApfloat

    ApfloatImpl createApfloat(long value, long precision, int radix) throws NumberFormatException, ApfloatRuntimeException
    Create a new `ApfloatImpl` instance from a `long`.
    Parameters:
      `value` - The value of the number.
      `precision` - The precision of the number (in digits of the radix).
      `radix` - The radix in which the number is created.
    Returns:
      A new `ApfloatImpl`.
    Throws:
      `NumberFormatException` - If the number is not valid.
      `ApfloatRuntimeException`

  - ### createApfloat

    ApfloatImpl createApfloat(double value, long precision, int radix) throws NumberFormatException, ApfloatRuntimeException
    Create a new `ApfloatImpl` instance from a `double`.
    Parameters:
      `value` - The value of the number.
      `precision` - The precision of the number (in digits of the radix).
      `radix` - The radix in which the number is created.
    Returns:
      A new `ApfloatImpl`.
    Throws:
      `NumberFormatException` - If the number is not valid.
      `ApfloatRuntimeException`

  - ### createApfloat

    ApfloatImpl createApfloat(PushbackReader in, long precision, int radix, boolean isInteger) throws IOException, NumberFormatException, ApfloatRuntimeException
    Create a new `ApfloatImpl` instance reading from a stream.
    Parameters:
      `in` - The stream to read from.
      `precision` - The precision of the number (in digits of the radix).
      `radix` - The radix in which the number is created.
      `isInteger` - Specifies if the number to be parsed from the stream is to be treated as an integer or not.
    Returns:
      A new `ApfloatImpl`.
    Throws:
      `IOException` - If an I/O error occurs accessing the stream.
      `NumberFormatException` - If the number is not valid.
      `ApfloatRuntimeException`

  - ### createApfloat

    ApfloatImpl createApfloat(PushbackReader in, long precision, int radix, boolean isInteger, long initialSize) throws IOException, NumberFormatException, ApfloatRuntimeException
    Create a new `ApfloatImpl` instance reading from a stream. A hint for the size of the number can be specified.
    Parameters:
      `in` - The stream to read from.
      `precision` - The precision of the number (in digits of the radix).
      `radix` - The radix in which the number is created.
      `isInteger` - Specifies if the number to be parsed from the stream is to be treated as an integer or not.
      `initialSize` - The initially allocated size (in digits of the radix) for the number.
    Returns:
      A new `ApfloatImpl`.
    Throws:
      `IOException` - If an I/O error occurs accessing the stream.
      `NumberFormatException` - If the number is not valid.
      `ApfloatRuntimeException`
    Since:
      1.16.0