Share via


Complex.ToString Method (String, 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 format and culture-specific format information for its real and imaginary parts.

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

Syntax

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

Parameters

  • format
    Type: System.String
    A standard or custom numeric format string.

Return Value

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

Implements

IFormattable.ToString(String, IFormatProvider)

Exceptions

Exception Condition
FormatException

format is not a valid format string.

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 nulla null reference (Nothing in Visual Basic), 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 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 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.

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") } 
      Dim formats() As String = {"F2", "N2", "G5"}

      For Each c1 As Complex In c
         For Each format As String In formats
            outputBlock.Text += String.Format("{0} format string:   ", format)
            For Each culture As CultureInfo In cultures
               outputBlock.Text += String.Format("{0} ({1})    ", c1.ToString(culture), culture.Name)
            Next
            outputBlock.Text &= vbCrLf
         Next
         outputBlock.Text &= vbCrLf
      Next
   End Sub
End Module
' The example displays the following output:
'    F2 format string:   (17.3, 14.1) (en-US)    (17,3, 14,1) (fr-FR)
'    N2 format string:   (17.3, 14.1) (en-US)    (17,3, 14,1) (fr-FR)
'    G5 format string:   (17.3, 14.1) (en-US)    (17,3, 14,1) (fr-FR)
'    
'    F2 format string:   (-18.9, 147.2) (en-US)    (-18,9, 147,2) (fr-FR)
'    N2 format string:   (-18.9, 147.2) (en-US)    (-18,9, 147,2) (fr-FR)
'    G5 format string:   (-18.9, 147.2) (en-US)    (-18,9, 147,2) (fr-FR)
'    
'    F2 format string:   (13.472, -18.115) (en-US)    (13,472, -18,115) (fr-FR)
'    N2 format string:   (13.472, -18.115) (en-US)    (13,472, -18,115) (fr-FR)
'    G5 format string:   (13.472, -18.115) (en-US)    (13,472, -18,115) (fr-FR)
'    
'    F2 format string:   (-11.154, -17.002) (en-US)    (-11,154, -17,002) (fr-FR)
'    N2 format string:   (-11.154, -17.002) (en-US)    (-11,154, -17,002) (fr-FR)
'    G5 format string:   (-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") };
      string[] formats = { "F2", "N2", "G5" };

      foreach (Complex c1 in c)
      {
         foreach (string format in formats)
         {
            outputBlock.Text += String.Format("{0} format string:   ", format);
            foreach (CultureInfo culture in cultures)
               outputBlock.Text += String.Format("{0} ({1})    ", c1.ToString(culture), culture.Name);

            outputBlock.Text += "\n";
         }
         outputBlock.Text += "\n";
      }
   }
}
// The example displays the following output:
//    F2 format string:   (17.3, 14.1) (en-US)    (17,3, 14,1) (fr-FR)
//    N2 format string:   (17.3, 14.1) (en-US)    (17,3, 14,1) (fr-FR)
//    G5 format string:   (17.3, 14.1) (en-US)    (17,3, 14,1) (fr-FR)
//    
//    F2 format string:   (-18.9, 147.2) (en-US)    (-18,9, 147,2) (fr-FR)
//    N2 format string:   (-18.9, 147.2) (en-US)    (-18,9, 147,2) (fr-FR)
//    G5 format string:   (-18.9, 147.2) (en-US)    (-18,9, 147,2) (fr-FR)
//    
//    F2 format string:   (13.472, -18.115) (en-US)    (13,472, -18,115) (fr-FR)
//    N2 format string:   (13.472, -18.115) (en-US)    (13,472, -18,115) (fr-FR)
//    G5 format string:   (13.472, -18.115) (en-US)    (13,472, -18,115) (fr-FR)
//    
//    F2 format string:   (-11.154, -17.002) (en-US)    (-11,154, -17,002) (fr-FR)
//    
//    N2 format string:   (-11.154, -17.002) (en-US)    (-11,154, -17,002) (fr-FR)
//    
//    G5 format string:   (-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.