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.
- 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 format and provider.
Implements
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:
For more information about numeric format strings, see Standard Numeric Format Strings and Custom Numeric Format Strings.
For more information about formatting in the .NET Framework, see Formatting Types.
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:
A CultureInfo object that represents the culture that supplies formatting information
The NumberFormatInfo object that supplies formatting information.
A custom object that implements the IFormatProvider interface. Its GetFormat method returns the NumberFormatInfo object that supplies formatting information.
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.
See Also