Package org.apache.commons.math3.complex

# Class ComplexFormat

java.lang.Object
org.apache.commons.math3.complex.ComplexFormat

public class ComplexFormat extends Object
Formats a Complex number in cartesian format "Re(c) + Im(c)i". 'i' can be replaced with 'j' (or anything else), and the number format for both real and imaginary parts can be configured.

## Constructor Summary

Constructors
Constructor
Description
`ComplexFormat()`
Create an instance with the default imaginary character, 'i', and the default number format for both real and imaginary parts.
`ComplexFormat(String imaginaryCharacter)`
Create an instance with a custom imaginary character, and the default number format for both real and imaginary parts.
`ComplexFormat(String imaginaryCharacter, NumberFormat format)`
Create an instance with a custom imaginary character, and a custom number format for both real and imaginary parts.
`ComplexFormat(String imaginaryCharacter, NumberFormat realFormat, NumberFormat imaginaryFormat)`
Create an instance with a custom imaginary character, a custom number format for the real part, and a custom number format for the imaginary part.
`ComplexFormat(NumberFormat format)`
Create an instance with a custom number format for both real and imaginary parts.
`ComplexFormat(NumberFormat realFormat, NumberFormat imaginaryFormat)`
Create an instance with a custom number format for the real part and a custom number format for the imaginary part.

## Method Summary

Modifier and Type
Method
Description
`String`
`format(Double c)`
This method calls `format(Object,StringBuffer,FieldPosition)`.
`StringBuffer`
`format(Object obj, StringBuffer toAppendTo, FieldPosition pos)`
Formats a object to produce a string.
`String`
`format(Complex c)`
This method calls `format(Object,StringBuffer,FieldPosition)`.
`StringBuffer`
`format(Complex complex, StringBuffer toAppendTo, FieldPosition pos)`
Formats a `Complex` object to produce a string.
`static Locale[]`
`getAvailableLocales()`
Get the set of locales for which complex formats are available.
`String`
`getImaginaryCharacter()`
Access the imaginaryCharacter.
`NumberFormat`
`getImaginaryFormat()`
Access the imaginaryFormat.
`static ComplexFormat`
`getInstance()`
Returns the default complex format for the current locale.
`static ComplexFormat`
`getInstance(String imaginaryCharacter, Locale locale)`
Returns the default complex format for the given locale.
`static ComplexFormat`
`getInstance(Locale locale)`
Returns the default complex format for the given locale.
`NumberFormat`
`getRealFormat()`
Access the realFormat.
`Complex`
`parse(String source)`
Parses a string to produce a `Complex` object.
`Complex`
`parse(String source, ParsePosition pos)`
Parses a string to produce a `Complex` object.

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

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### ComplexFormat

public ComplexFormat()
Create an instance with the default imaginary character, 'i', and the default number format for both real and imaginary parts.

### ComplexFormat

public ComplexFormat(NumberFormat format) throws NullArgumentException
Create an instance with a custom number format for both real and imaginary parts.

Parameters:
  `format` - the custom format for both real and imaginary parts.
Throws:
  `NullArgumentException` - if `realFormat` is `null`.

### ComplexFormat

public ComplexFormat(NumberFormat realFormat, NumberFormat imaginaryFormat) throws NullArgumentException
Create an instance with a custom number format for the real part and a custom number format for the imaginary part.

Parameters:
  `realFormat` - the custom format for the real part.
  `imaginaryFormat` - the custom format for the imaginary part.
Throws:
  `NullArgumentException` - if `imaginaryFormat` is `null`.
  `NullArgumentException` - if `realFormat` is `null`.

### ComplexFormat

public ComplexFormat(String imaginaryCharacter) throws NullArgumentException, NoDataException
Create an instance with a custom imaginary character, and the default number format for both real and imaginary parts.

Parameters:
  `imaginaryCharacter` - The custom imaginary character.
Throws:
  `NullArgumentException` - if `imaginaryCharacter` is `null`.
  `NoDataException` - if `imaginaryCharacter` is an empty string.

### ComplexFormat

public ComplexFormat(String imaginaryCharacter, NumberFormat format) throws NullArgumentException, NoDataException
Create an instance with a custom imaginary character, and a custom number format for both real and imaginary parts.

Parameters:
  `imaginaryCharacter` - The custom imaginary character.
  `format` - the custom format for both real and imaginary parts.
Throws:
  `NullArgumentException` - if `imaginaryCharacter` is `null`.
  `NoDataException` - if `imaginaryCharacter` is an empty string.
  `NullArgumentException` - if `format` is `null`.

### ComplexFormat

public ComplexFormat(String imaginaryCharacter, NumberFormat realFormat, NumberFormat imaginaryFormat) throws NullArgumentException, NoDataException
Create an instance with a custom imaginary character, a custom number format for the real part, and a custom number format for the imaginary part.

Parameters:
  `imaginaryCharacter` - The custom imaginary character.
  `realFormat` - the custom format for the real part.
  `imaginaryFormat` - the custom format for the imaginary part.
Throws:
  `NullArgumentException` - if `imaginaryCharacter` is `null`.
  `NoDataException` - if `imaginaryCharacter` is an empty string.
  `NullArgumentException` - if `imaginaryFormat` is `null`.
  `NullArgumentException` - if `realFormat` is `null`.

## Method Details

### getAvailableLocales

public static Locale[] getAvailableLocales()
Get the set of locales for which complex formats are available.

This is the same set as the `NumberFormat` set.

Returns:
  available complex format locales.

### format

public String format(Complex c)
This method calls `format(Object,StringBuffer,FieldPosition)`.

Parameters:
  `c` - Complex object to format.
Returns:
  A formatted number in the form "Re(c) + Im(c)i".

### format

public String format(Double c)
This method calls `format(Object,StringBuffer,FieldPosition)`.

Parameters:
  `c` - Double object to format.
Returns:
  A formatted number.

### format

public StringBuffer format(Complex complex, StringBuffer toAppendTo, FieldPosition pos)
Formats a `Complex` object to produce a string.

Parameters:
  `complex` - the object to format.
  `toAppendTo` - where the text is to be appended
  `pos` - On input: an alignment field, if desired. On output: the offsets of the alignment field
Returns:
  the value passed in as toAppendTo.

### format

public StringBuffer format(Object obj, StringBuffer toAppendTo, FieldPosition pos) throws MathIllegalArgumentException
Formats a object to produce a string. `obj` must be either a `Complex` object or a `Number` object. Any other type of object will result in an `IllegalArgumentException` being thrown.

Parameters:
  `obj` - the object to format.
  `toAppendTo` - where the text is to be appended
  `pos` - On input: an alignment field, if desired. On output: the offsets of the alignment field
Returns:
  the value passed in as toAppendTo.
Throws:
  `MathIllegalArgumentException` - is `obj` is not a valid type.
See Also:
  - `Format.format(java.lang.Object, java.lang.StringBuffer, java.text.FieldPosition)`

### getImaginaryCharacter

public String getImaginaryCharacter()
Access the imaginaryCharacter.

Returns:
  the imaginaryCharacter.

### getImaginaryFormat

public NumberFormat getImaginaryFormat()
Access the imaginaryFormat.

Returns:
  the imaginaryFormat.

### getInstance

public static ComplexFormat getInstance()
Returns the default complex format for the current locale.

Returns:
  the default complex format.

### getInstance

public static ComplexFormat getInstance(Locale locale)
Returns the default complex format for the given locale.

Parameters:
  `locale` - the specific locale used by the format.
Returns:
  the complex format specific to the given locale.

### getInstance

public static ComplexFormat getInstance(String imaginaryCharacter, Locale locale) throws NullArgumentException, NoDataException
Returns the default complex format for the given locale.

Parameters:
  `imaginaryCharacter` - Imaginary character.
  `locale` - the specific locale used by the format.
Returns:
  the complex format specific to the given locale.
Throws:
  `NullArgumentException` - if `imaginaryCharacter` is `null`.
  `NoDataException` - if `imaginaryCharacter` is an empty string.

### getRealFormat

public NumberFormat getRealFormat()
Access the realFormat.

Returns:
  the realFormat.

### parse

public Complex parse(String source) throws MathParseException
Parses a string to produce a `Complex` object.

Parameters:
  `source` - the string to parse.
Returns:
  the parsed `Complex` object.
Throws:
  `MathParseException` - if the beginning of the specified string cannot be parsed.

### parse

public Complex parse(String source, ParsePosition pos)
Parses a string to produce a `Complex` object.

Parameters:
  `source` - the string to parse
  `pos` - input/ouput parsing parameter.
Returns:
  the parsed `Complex` object.