## org.apache.commons.math.complex
Class ComplexFormat

    java.lang.Object
      java.text.Format
          org.apache.commons.math.util.CompositeFormat
              org.apache.commons.math.complex.ComplexFormat

All Implemented Interfaces:
  Serializable, Cloneable

    public class ComplexFormat

extends CompositeFormat

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.

Version:
  $Revision: 983921 $ $Date: 2010-08-10 12:46:06 +0200 (mar. 10 août 2010) $
See Also:
  Serialized Form

Nested Class Summary

Nested classes/interfaces inherited from class java.text.Format
`Format.Field`

Field Summary
`private static String` `DEFAULT_IMAGINARY_CHARACTER` The default imaginary character.
`private String` `imaginaryCharacter` The notation used to signify the imaginary part of the complex number.
`private NumberFormat` `imaginaryFormat` The format used for the imaginary part.
`private NumberFormat` `realFormat` The format used for the real part.
`private static long` `serialVersionUID` Serializable version identifier

Constructor Summary
`ComplexFormat()` Create an instance with the default imaginary character, 'i', and the default number format for both real and imaginary parts.
`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.
`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.

Method Summary
`StringBuffer` `format(Complex complex, StringBuffer toAppendTo, FieldPosition pos)` Formats a `Complex` object to produce a string.
`StringBuffer` `format(Object obj, StringBuffer toAppendTo, FieldPosition pos)` Formats a object to produce a string.
`static String` `formatComplex(Complex c)` This static method calls `Format.format(Object)` on a default instance of ComplexFormat.
`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(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.
`Object` `parseObject(String source, ParsePosition pos)` Parses a string to produce a object.
`void` `setImaginaryCharacter(String imaginaryCharacter)` Modify the imaginaryCharacter.
`void` `setImaginaryFormat(NumberFormat imaginaryFormat)` Modify the imaginaryFormat.
`void` `setRealFormat(NumberFormat realFormat)` Modify the realFormat.

Methods inherited from class org.apache.commons.math.util.CompositeFormat
`formatDouble, getDefaultNumberFormat, getDefaultNumberFormat, parseAndIgnoreWhitespace, parseFixedstring, parseNextCharacter, parseNumber`

Methods inherited from class java.text.Format
`clone, format, formatToCharacterIterator, parseObject`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### serialVersionUID

    private static final long serialVersionUID

  Serializable version identifier

  See Also:
    Constant Field Values

### DEFAULT_IMAGINARY_CHARACTER

    private static final String DEFAULT_IMAGINARY_CHARACTER

  The default imaginary character.

  See Also:
    Constant Field Values

### imaginaryCharacter

    private String imaginaryCharacter

  The notation used to signify the imaginary part of the complex number.

### imaginaryFormat

    private NumberFormat imaginaryFormat

  The format used for the imaginary part.

### realFormat

    private NumberFormat realFormat

  The format used for the real part.

Constructor Detail

### 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)

  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.

### ComplexFormat

    public 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.

  Parameters:
    `realFormat` - the custom format for the real part.
    `imaginaryFormat` - the custom format for the imaginary part.

### ComplexFormat

    public ComplexFormat(String imaginaryCharacter)

  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.

### ComplexFormat

    public ComplexFormat(String imaginaryCharacter,
                         NumberFormat format)

  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.

### ComplexFormat

    public 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.

  Parameters:
    `imaginaryCharacter` - The custom imaginary character.
    `realFormat` - the custom format for the real part.
    `imaginaryFormat` - the custom format for the imaginary part.

Method Detail

### 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.

### formatComplex

    public static String formatComplex(Complex c)

  This static method calls `Format.format(Object)` on a default instance of ComplexFormat.

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

### 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)

  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.

  Specified by:
    `format` in class `Format`
  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:
    `IllegalArgumentException` - 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.

### getRealFormat

    public NumberFormat getRealFormat()

  Access the realFormat.

  Returns:
    the realFormat.

### parse

    public Complex parse(String source)
                  throws ParseException

  Parses a string to produce a `Complex` object.

  Parameters:
    `source` - the string to parse
  Returns:
    the parsed `Complex` object.
  Throws:
    `ParseException` - 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.

### parseObject

    public Object parseObject(String source,
                              ParsePosition pos)

  Parses a string to produce a object.

  Specified by:
    `parseObject` in class `Format`
  Parameters:
    `source` - the string to parse
    `pos` - input/ouput parsing parameter.
  Returns:
    the parsed object.
  See Also:
    `Format.parseObject(java.lang.String, java.text.ParsePosition)`

### setImaginaryCharacter

    public void setImaginaryCharacter(String imaginaryCharacter)

  Modify the imaginaryCharacter.

  Parameters:
    `imaginaryCharacter` - The new imaginaryCharacter value.
  Throws:
    `IllegalArgumentException` - if `imaginaryCharacter` is `null` or an empty string.

### setImaginaryFormat

    public void setImaginaryFormat(NumberFormat imaginaryFormat)

  Modify the imaginaryFormat.

  Parameters:
    `imaginaryFormat` - The new imaginaryFormat value.
  Throws:
    `NullArgumentException` - if `imaginaryFormat` is `null`.

### setRealFormat

    public void setRealFormat(NumberFormat realFormat)

  Modify the realFormat.

  Parameters:
    `realFormat` - The new realFormat value.
  Throws:
    `NullArgumentException` - if `realFormat` is `null`.

Copyright (c) 2003-2013 Apache Software Foundation