Complex.ToString Method (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.

Namespace:   System.Numerics
Assembly:  System.Numerics (in System.Numerics.dll)

public string ToString(
	IFormatProvider provider


Type: System.IFormatProvider

An object that supplies culture-specific formatting information.

Return Value

Type: System.String

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

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:

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

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

Universal Windows Platform
Available since 8
.NET Framework
Available since 4.0
Portable Class Library
Supported in: portable .NET platforms
Available since 4.0
Windows Phone
Available since 8.1
Return to top