## 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:
  java.io.Serializable, java.lang.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: 811783 $ $Date: 2009-09-06 04:56:58 -0400 (Sun, 06 Sep 2009) $
See Also:
  Serialized Form

Nested Class Summary

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

Field Summary
`private static java.lang.String` `DEFAULT_IMAGINARY_CHARACTER` The default imaginary character.
`private java.lang.String` `imaginaryCharacter` The notation used to signify the imaginary part of the complex number.
`private java.text.NumberFormat` `imaginaryFormat` The format used for the imaginary part.
`private java.text.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(java.text.NumberFormat format)` Create an instance with a custom number format for both real and imaginary parts.
`ComplexFormat(java.text.NumberFormat realFormat, java.text.NumberFormat imaginaryFormat)` Create an instance with a custom number format for the real part and a custom number format for the imaginary part.
`ComplexFormat(java.lang.String imaginaryCharacter)` Create an instance with a custom imaginary character, and the default number format for both real and imaginary parts.
`ComplexFormat(java.lang.String imaginaryCharacter, java.text.NumberFormat format)` Create an instance with a custom imaginary character, and a custom number format for both real and imaginary parts.
`ComplexFormat(java.lang.String imaginaryCharacter, java.text.NumberFormat realFormat, java.text.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
`java.lang.StringBuffer` `format(Complex complex, java.lang.StringBuffer toAppendTo, java.text.FieldPosition pos)` Formats a `Complex` object to produce a string.
`java.lang.StringBuffer` `format(java.lang.Object obj, java.lang.StringBuffer toAppendTo, java.text.FieldPosition pos)` Formats a object to produce a string.
`static java.lang.String` `formatComplex(Complex c)` This static method calls `Format.format(Object)` on a default instance of ComplexFormat.
`static java.util.Locale[]` `getAvailableLocales()` Get the set of locales for which complex formats are available.
`java.lang.String` `getImaginaryCharacter()` Access the imaginaryCharacter.
`java.text.NumberFormat` `getImaginaryFormat()` Access the imaginaryFormat.
`static ComplexFormat` `getInstance()` Returns the default complex format for the current locale.
`static ComplexFormat` `getInstance(java.util.Locale locale)` Returns the default complex format for the given locale.
`java.text.NumberFormat` `getRealFormat()` Access the realFormat.
`Complex` `parse(java.lang.String source)` Parses a string to produce a `Complex` object.
`Complex` `parse(java.lang.String source, java.text.ParsePosition pos)` Parses a string to produce a `Complex` object.
`java.lang.Object` `parseObject(java.lang.String source, java.text.ParsePosition pos)` Parses a string to produce a object.
`void` `setImaginaryCharacter(java.lang.String imaginaryCharacter)` Modify the imaginaryCharacter.
`void` `setImaginaryFormat(java.text.NumberFormat imaginaryFormat)` Modify the imaginaryFormat.
`void` `setRealFormat(java.text.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 java.lang.String DEFAULT_IMAGINARY_CHARACTER

  The default imaginary character.

  See Also:
    Constant Field Values

### imaginaryCharacter

    private java.lang.String imaginaryCharacter

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

### imaginaryFormat

    private java.text.NumberFormat imaginaryFormat

  The format used for the imaginary part.

### realFormat

    private java.text.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(java.text.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(java.text.NumberFormat realFormat,
                         java.text.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(java.lang.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(java.lang.String imaginaryCharacter,
                         java.text.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(java.lang.String imaginaryCharacter,
                         java.text.NumberFormat realFormat,
                         java.text.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 java.util.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 java.lang.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 java.lang.StringBuffer format(Complex complex,
                                         java.lang.StringBuffer toAppendTo,
                                         java.text.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 java.lang.StringBuffer format(java.lang.Object obj,
                                         java.lang.StringBuffer toAppendTo,
                                         java.text.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 `java.text.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:
    `java.lang.IllegalArgumentException` - is `obj` is not a valid type.
  See Also:
    `Format.format(java.lang.Object, java.lang.StringBuffer, java.text.FieldPosition)`

### getImaginaryCharacter

    public java.lang.String getImaginaryCharacter()

  Access the imaginaryCharacter.

  Returns:
    the imaginaryCharacter.

### getImaginaryFormat

    public java.text.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(java.util.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 java.text.NumberFormat getRealFormat()

  Access the realFormat.

  Returns:
    the realFormat.

### parse

    public Complex parse(java.lang.String source)
                  throws java.text.ParseException

  Parses a string to produce a `Complex` object.

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

### parse

    public Complex parse(java.lang.String source,
                         java.text.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 java.lang.Object parseObject(java.lang.String source,
                                        java.text.ParsePosition pos)

  Parses a string to produce a object.

  Specified by:
    `parseObject` in class `java.text.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(java.lang.String imaginaryCharacter)

  Modify the imaginaryCharacter.

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

### setImaginaryFormat

    public void setImaginaryFormat(java.text.NumberFormat imaginaryFormat)

  Modify the imaginaryFormat.

  Parameters:
    `imaginaryFormat` - The new imaginaryFormat value.
  Throws:
    `java.lang.IllegalArgumentException` - if `imaginaryFormat` is `null`.

### setRealFormat

    public void setRealFormat(java.text.NumberFormat realFormat)

  Modify the realFormat.

  Parameters:
    `realFormat` - The new realFormat value.
  Throws:
    `java.lang.IllegalArgumentException` - if `realFormat` is `null`.

Copyright (c) 2003-2010 Apache Software Foundation