Complex.ToString Method (IFormatProvider)

Microsoft Silverlight will reach end of support after October 2021. Learn more.

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)

Syntax

'Declaration
Public Function ToString ( _
    provider As IFormatProvider _
) As String
public string ToString(
    IFormatProvider provider
)

Parameters

Return Value

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

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 nulla null reference (Nothing in Visual Basic), the returned string is formatted using the NumberFormatInfo object of the current culture.

The provider parameter can be one of the following:

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.

Imports System.Globalization
Imports System.Numerics

Module Example
   Public Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
      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
            outputBlock.Text += String.Format("{0} ({1})    ", c1.ToString(culture), culture.Name)
         Next
         outputBlock.Text &= vbCrLf
      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)
using System;
using System.Globalization;
using System.Numerics;

public class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      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)
            outputBlock.Text += String.Format("{0} ({1})    ", c1.ToString(culture), culture.Name);

         outputBlock.Text += "\n";
      }
   }
}
// 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)

Version Information

Silverlight

Supported in: 5, 4

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.