Complex.ToString Method

Definition

Converts the value of a complex number to its equivalent string representation.

Overloads

ToString()

Converts the value of the current complex number to its equivalent string representation in Cartesian form.

ToString(IFormatProvider)

Converts the value of the current complex number to its equivalent string representation in Cartesian form by using the specified culture-specific formatting information.

ToString(String)

Converts the value of the current complex number to its equivalent string representation in Cartesian form by using the specified format for its real and imaginary parts.

ToString(String, IFormatProvider)

Converts the value of the current complex number to its equivalent string representation in Cartesian form by using the specified format and culture-specific format information for its real and imaginary parts.

ToString()

Converts the value of the current complex number to its equivalent string representation in Cartesian form.

public:
 override System::String ^ ToString();
public override string ToString ();
override this.ToString : unit -> string
Public Overrides Function ToString () As String

Returns

String

The string representation of the current instance in Cartesian form.

Examples

The following example displays the string representation of several complex numbers. The output uses the formatting conventions of the English - United States ("en-US") culture, which, in this case, is the current system culture.

using System;
using System.Numerics;

public class Example
{
   public static void Main()
   {
      Complex[] c = { new Complex(17.3, 14.1),
                      new Complex(-18.9, 147.2),
                      new Complex(13.472, -18.115),
                      new Complex(-11.154, -17.002) };
      foreach (Complex c1 in c)
         Console.WriteLine(c1.ToString());
   }
}
// The example display the following output:
//       (17.3, 14.1)
//       (-18.9, 147.2)
//       (13.472, -18.115)
//       (-11.154, -17.002)
Imports System.Numerics

Module Example
   Public Sub Main()
      Dim c() As Complex = { New Complex(17.3, 14.1), 
                             New Complex(-18.9, 147.2), 
                             New Complex(13.472, -18.115), 
                             New Complex(-11.154, -17.002) }
      For Each c1 As Complex In c
         Console.WriteLine(c1.ToString())
      Next                          
   End Sub
End Module
' The example displays the following output:
'       (17.3, 14.1)
'       (-18.9, 147.2)
'       (13.472, -18.115)
'       (-11.154, -17.002)

Remarks

The default string representation of a complex number displays the number using its Cartesian coordinates in the form (a, b), where a is the real part of the complex number, and b is its imaginary part. Both a and b are formatted using the general format specifier ("G") and the conventions of the current system culture.

ToString(IFormatProvider)

Converts the value of the current complex number to its equivalent string representation in Cartesian form by using the specified culture-specific formatting information.

public:
 System::String ^ ToString(IFormatProvider ^ provider);
public string ToString (IFormatProvider provider);
override this.ToString : IFormatProvider -> string
Public Function ToString (provider As IFormatProvider) As String

Parameters

provider
IFormatProvider

An object that supplies culture-specific formatting information.

Returns

String

The string representation of the current instance in Cartesian form, as specified by provider.

Examples

The following example displays the string representation of several complex numbers. The result uses the formatting conventions of the English - United States ("en-US") and French - France ("fr-FR") cultures.

using System;
using System.Globalization;
using System.Numerics;

public class Example
{
   public static void Main()
   {
      Complex[] c = { new Complex(17.3, 14.1),
                      new Complex(-18.9, 147.2),
                      new Complex(13.472, -18.115),
                      new Complex(-11.154, -17.002) };
      CultureInfo[] cultures = { new CultureInfo("en-US"),
                                 new CultureInfo("fr-FR") };
      foreach (Complex c1 in c)
      {
         foreach (CultureInfo culture in cultures)
            Console.Write("{0} ({1})    ", c1.ToString(culture), culture.Name);

         Console.WriteLine();
      }
   }
}
// The example displays the following output:
//       (17.3, 14.1) (en-US)    (17,3, 14,1) (fr-FR)
//       (-18.9, 147.2) (en-US)    (-18,9, 147,2) (fr-FR)
//       (13.472, -18.115) (en-US)    (13,472, -18,115) (fr-FR)
//       (-11.154, -17.002) (en-US)    (-11,154, -17,002) (fr-FR)
Imports System.Globalization
Imports System.Numerics

Module Example
   Public Sub Main()
      Dim c() As Complex = { New Complex(17.3, 14.1), 
                             New Complex(-18.9, 147.2), 
                             New Complex(13.472, -18.115), 
                             New Complex(-11.154, -17.002) }
      Dim cultures() As CultureInfo = { New CultureInfo("en-US"), 
                                        New CultureInfo("fr-FR") } 
      For Each c1 As Complex In c
         For Each culture As CultureInfo In cultures
            Console.Write("{0} ({1})    ", c1.ToString(culture), culture.Name)
         Next
         Console.WriteLine()
      Next                          
   End Sub
End Module
' The example displays the following output:
'       (17.3, 14.1) (en-US)    (17,3, 14,1) (fr-FR)
'       (-18.9, 147.2) (en-US)    (-18,9, 147,2) (fr-FR)
'       (13.472, -18.115) (en-US)    (13,472, -18,115) (fr-FR)
'       (-11.154, -17.002) (en-US)    (-11,154, -17,002) (fr-FR)

Remarks

The string representation of the complex number returned by this method displays the number using its Cartesian coordinates in the form (a, b), where a is the real part of the complex number, and b is its imaginary part. Both a and b are formatted using the general format specifier ("G") and the conventions of the culture defined by provider.

The provider parameter is an IFormatProvider implementation. Its GetFormat method returns a NumberFormatInfo object that provides culture-specific information about the format of the real and imaginary numbers in the returned string. If provider is null, the returned string is formatted using the NumberFormatInfo object of the current culture.

The provider parameter can be one of the following:

ToString(String)

Converts the value of the current complex number to its equivalent string representation in Cartesian form by using the specified format for its real and imaginary parts.

public:
 System::String ^ ToString(System::String ^ format);
public string ToString (string format);
override this.ToString : string -> string
Public Function ToString (format As String) As String

Parameters

format
String

A standard or custom numeric format string.

Returns

String

The string representation of the current instance in Cartesian form.

Exceptions

format is not a valid format string.

Examples

The following example initializes a complex number and displays it using several standard format strings.

using System;
using System.Numerics;

public class Example
{
   public static void Main()
   {
      Complex[] c = { new Complex(17.3, 14.1),
                      new Complex(-18.9, 147.2),
                      new Complex(13.472, -18.115),
                      new Complex(-11.154, -17.002) };
      string[] formats = { "F2", "N2", "G5" };

      foreach (Complex c1 in c)
      {
         foreach (string format in formats)
            Console.WriteLine("{0}: {1}    ", format, c1.ToString(format));

         Console.WriteLine();
      }
   }
}
// The example displays the following output:
//       F2: (17.30, 14.10)
//       N2: (17.30, 14.10)
//       G5: (17.3, 14.1)
//
//       F2: (-18.90, 147.20)
//       N2: (-18.90, 147.20)
//       G5: (-18.9, 147.2)
//
//       F2: (13.47, -18.12)
//       N2: (13.47, -18.12)
//       G5: (13.472, -18.115)
//
//       F2: (-11.15, -17.00)
//       N2: (-11.15, -17.00)
//       G5: (-11.154, -17.002)
Imports System.Numerics

Module Example
   Public Sub Main()
      Dim c() As Complex = { New Complex(17.3, 14.1), 
                             New Complex(-18.9, 147.2), 
                             New Complex(13.472, -18.115), 
                             New Complex(-11.154, -17.002) }
      Dim formats() As String = { "F2", "N2", "G5" } 
      
      For Each c1 As Complex In c
         For Each format As String In formats
            Console.WriteLine("{0}: {1}    ", format, c1.ToString(format))
         Next
         Console.WriteLine()
      Next                          
   End Sub
End Module
' The example displays the following output:
'       F2: (17.30, 14.10)
'       N2: (17.30, 14.10)
'       G5: (17.3, 14.1)
'       
'       F2: (-18.90, 147.20)
'       N2: (-18.90, 147.20)
'       G5: (-18.9, 147.2)
'       
'       F2: (13.47, -18.12)
'       N2: (13.47, -18.12)
'       G5: (13.472, -18.115)
'       
'       F2: (-11.15, -17.00)
'       N2: (-11.15, -17.00)
'       G5: (-11.154, -17.002)

Remarks

The string representation of the complex number returned by this method displays the number using its Cartesian coordinates in the form (a, b), where a is the real part of the complex number, and b is its imaginary part. Both a and b are formatted using the format string specified by format. The format parameter can be any valid standard numeric format specifier, or any combination of custom numeric format specifiers. If format is equal to String.Empty or is null, the real and imaginary parts of the complex number are formatted with the general format specifier ("G"). If format is any other value, the method throws a FormatException.

The .NET Framework provides extensive formatting support, which is described in greater detail in the following topics:

The format of the returned string is determined by the NumberFormatInfo object for the current culture. Depending on the format parameter, this object controls symbols such as the negative sign, the group separator, and the decimal point symbol in the output string. To provide formatting information for cultures other than the current culture, call the ToString(String, IFormatProvider) overload.

See also

ToString(String, IFormatProvider)

Converts the value of the current complex number to its equivalent string representation in Cartesian form by using the specified format and culture-specific format information for its real and imaginary parts.

public:
 virtual System::String ^ ToString(System::String ^ format, IFormatProvider ^ provider);
public string ToString (string format, IFormatProvider provider);
override this.ToString : string * IFormatProvider -> string
Public Function ToString (format As String, provider As IFormatProvider) As String

Parameters

format
String

A standard or custom numeric format string.

provider
IFormatProvider

An object that supplies culture-specific formatting information.

Returns

String

The string representation of the current instance in Cartesian form, as specified by format and provider.

Implements

Exceptions

format is not a valid format string.

Examples

The following example creates an array of complex numbers, and displays each using several standard format strings as well as CultureInfo objects that represent the English - United States ("en-US") and French - France ("fr-FR") cultures.

using System;
using System.Globalization;
using System.Numerics;

public class Example
{
   public static void Main()
   {
      Complex[] c = { new Complex(17.3, 14.1),
                      new Complex(-18.9, 147.2),
                      new Complex(13.472, -18.115),
                      new Complex(-11.154, -17.002) };
      CultureInfo[] cultures = { new CultureInfo("en-US"),
                                 new CultureInfo("fr-FR") };
      string[] formats = { "F2", "N2", "G5" };

      foreach (Complex c1 in c)
      {
         foreach (string format in formats)
         {
            Console.Write("{0} format string:   ", format);
            foreach (CultureInfo culture in cultures)
               Console.Write("{0} ({1})    ", c1.ToString(format, culture), culture.Name);

            Console.WriteLine();
         }
         Console.WriteLine();
      }
   }
}
// The example displays the following output:
//    F2 format string:   (17.30, 14.10) (en-US)    (17,30, 14,10) (fr-FR)
//    N2 format string:   (17.30, 14.10) (en-US)    (17,30, 14,10) (fr-FR)
//    G5 format string:   (17.3, 14.1) (en-US)    (17,3, 14,1) (fr-FR)
//
//    F2 format string:   (-18.90, 147.20) (en-US)    (-18,90, 147,20) (fr-FR)
//    N2 format string:   (-18.90, 147.20) (en-US)    (-18,90, 147,20) (fr-FR)
//    G5 format string:   (-18.9, 147.2) (en-US)    (-18,9, 147,2) (fr-FR)
//
//    F2 format string:   (13.47, -18.12) (en-US)    (13,47, -18,12) (fr-FR)
//    N2 format string:   (13.47, -18.12) (en-US)    (13,47, -18,12) (fr-FR)
//    G5 format string:   (13.472, -18.115) (en-US)    (13,472, -18,115) (fr-FR)
//
//    F2 format string:   (-11.15, -17.00) (en-US)    (-11,15, -17,00) (fr-FR)
//    N2 format string:   (-11.15, -17.00) (en-US)    (-11,15, -17,00) (fr-FR)
//    G5 format string:   (-11.154, -17.002) (en-US)    (-11,154, -17,002) (fr-FR)
Imports System.Globalization
Imports System.Numerics

Module Example
   Public Sub Main()
      Dim c() As Complex = { New Complex(17.3, 14.1), 
                             New Complex(-18.9, 147.2), 
                             New Complex(13.472, -18.115), 
                             New Complex(-11.154, -17.002) }
      Dim cultures() As CultureInfo = { New CultureInfo("en-US"), 
                                        New CultureInfo("fr-FR") } 
      Dim formats() As String = { "F2", "N2", "G5" } 

      For Each c1 As Complex In c
         For Each format As String In formats
            Console.Write("{0} format string:   ", format)
            For Each culture As CultureInfo In cultures
               Console.Write("{0} ({1})    ", c1.ToString(format, culture), 
                                              culture.Name)
            Next
            Console.WriteLine()
         Next
         Console.WriteLine()
      Next                          
   End Sub
End Module
' The example displays the following output:
'    F2 format string:   (17.30, 14.10) (en-US)    (17,30, 14,10) (fr-FR)
'    N2 format string:   (17.30, 14.10) (en-US)    (17,30, 14,10) (fr-FR)
'    G5 format string:   (17.3, 14.1) (en-US)    (17,3, 14,1) (fr-FR)
'    
'    F2 format string:   (-18.90, 147.20) (en-US)    (-18,90, 147,20) (fr-FR)
'    N2 format string:   (-18.90, 147.20) (en-US)    (-18,90, 147,20) (fr-FR)
'    G5 format string:   (-18.9, 147.2) (en-US)    (-18,9, 147,2) (fr-FR)
'    
'    F2 format string:   (13.47, -18.12) (en-US)    (13,47, -18,12) (fr-FR)
'    N2 format string:   (13.47, -18.12) (en-US)    (13,47, -18,12) (fr-FR)
'    G5 format string:   (13.472, -18.115) (en-US)    (13,472, -18,115) (fr-FR)
'    
'    F2 format string:   (-11.15, -17.00) (en-US)    (-11,15, -17,00) (fr-FR)
'    N2 format string:   (-11.15, -17.00) (en-US)    (-11,15, -17,00) (fr-FR)
'    G5 format string:   (-11.154, -17.002) (en-US)    (-11,154, -17,002) (fr-FR)

Remarks

The string representation of the complex number returned by this method displays the number using its Cartesian coordinates in the form (a, b), where a is the real part of the complex number, and b is its imaginary part. Both a and b are formatted using the format string specified by format. The format parameter can be any valid standard numeric format specifier, or any combination of custom numeric format specifiers. If format is equal to String.Empty or is null, the real and imaginary parts of the complex number are formatted with the general format specifier ("G"). If format is any other value, the method throws a FormatException.

The .NET Framework provides extensive formatting support, which is described in greater detail in the following topics:

The provider parameter is an IFormatProvider implementation. Its GetFormat method returns a NumberFormatInfo object that provides culture-specific information about the format of the real and imaginary numbers in the returned string. Depending on the format parameter, this object controls symbols such as the negative sign, the group separator, and the decimal point symbol in the output string. If provider is null, the returned string is formatted using the NumberFormatInfo object of the current culture.

The provider parameter can be one of the following:

See also

Applies to