Export (0) Print
Expand All

Convert.ToString Method (Int32, IFormatProvider)

.NET Framework 1.1

Converts the value of the specified 32-bit signed integer to its equivalent String representation.

[Visual Basic]
Overloads Public Shared Function ToString( _
   ByVal value As Integer, _
   ByVal provider As IFormatProvider _
) As String
[C#]
public static string ToString(
 int value,
 IFormatProvider provider
);
[C++]
public: static String* ToString(
 int value,
 IFormatProvider* provider
);
[JScript]
public static function ToString(
   value : int,
 provider : IFormatProvider
) : String;

Parameters

value
A 32-bit signed integer.
provider
An IFormatProvider interface implementation that supplies culture-specific formatting information.

Return Value

The String equivalent of the value of value.

Remarks

This implementation is identical to Int32.ToString.

Example

[Visual Basic, C#, C++] The following code example converts a Int32 (32-bit integer) to a String with the ToString method, using an IFormatProvider object.

[Visual Basic] 
' Example of the Convert.ToString( numeric types ) and 
' Convert.ToString( numeric types, IFormatProvider ) methods.
Imports System
Imports System.Globalization
Imports Microsoft.VisualBasic

Module ConvertNumericProviderDemo

    Sub Main( )

        ' Create a NumberFormatInfo object and set several of its
        ' properties that apply to numbers.
        Dim provider    As NumberFormatInfo = new NumberFormatInfo( )
        Dim formatter   As String           = "{0,22}   {1}"

        ' These properties will affect the conversion.
        provider.NegativeSign = "minus "
        provider.NumberDecimalSeparator = " point "

        ' These properties will not be applied.
        provider.NumberDecimalDigits = 2
        provider.NumberGroupSeparator = "."
        provider.NumberGroupSizes = New Integer( ) { 3 }

        ' Convert these values using default values and the
        ' format provider created above.
        Dim ByteA       As Byte     = 140
        Dim SByteA      As SByte    = Convert.ToSByte( -60 )
        Dim UInt16A     As UInt16   = Convert.ToUInt16( 61680 )
        Dim Int16A      As Short    = -3855

        Dim UInt32A     As UInt32   = Convert.ToUInt32( 4042322160 )
        Dim Int32A      As Integer  = -252645135   
        Dim UInt64A     As UInt64   = _
                            Convert.ToUInt64( 8138269444283625712 )
        Dim Int64A      As Long     = -1085102592571150095

        Dim SingleA     As Single   = -32.375F
        Dim DoubleA     As Double   = 61680.3855
        Dim DecimA      As Decimal  = 4042322160.252645135D
        Dim ObjDouble   As Object   = CType( -98765.4321, Object )

        Console.WriteLine( "This example of " & _
            "Convert.ToString( numeric types ) and " & vbCrLf & _
            "Convert.ToString( numeric types, IFormatProvider ) " & _
            vbCrLf & "converts values of each of the CLR base " & _
            "numeric types to strings, " & vbCrLf & "using " & _
            "default formatting and a NumberFormatInfo object." )
        Console.WriteLine( vbCrLf & _
            "Note: Of the several NumberFormatInfo properties " & _
            "that are changed, " & vbCrLf & "only the negative " & _
            "sign and decimal separator affect the conversions." )
        Console.WriteLine( vbCrLf & formatter, _
            "Default", "Format Provider" )
        Console.WriteLine( formatter, _
            "-------", "---------------" )

        ' Convert the values with and without a format provider.
        Console.WriteLine( formatter, Convert.ToString( ByteA ), _
            Convert.ToString( ByteA, provider ) )
        Console.WriteLine( formatter, Convert.ToString( SByteA ), _
            Convert.ToString( SByteA, provider ) )
        Console.WriteLine( formatter, Convert.ToString( UInt16A ), _
            Convert.ToString( UInt16A, provider ) )
        Console.WriteLine( formatter, Convert.ToString( Int16A ), _
            Convert.ToString( Int16A, provider ) )

        Console.WriteLine( formatter, Convert.ToString( UInt32A ), _
            Convert.ToString( UInt32A, provider ) )
        Console.WriteLine( formatter, Convert.ToString( Int32A ), _
            Convert.ToString( Int32A, provider ) )
        Console.WriteLine( formatter, Convert.ToString( UInt64A ), _
            Convert.ToString( UInt64A, provider ) )
        Console.WriteLine( formatter, Convert.ToString( Int64A ), _
            Convert.ToString( Int64A, provider ) )

        Console.WriteLine( formatter, Convert.ToString( SingleA ), _
            Convert.ToString( SingleA, provider ) )
        Console.WriteLine( formatter, Convert.ToString( DoubleA ), _
            Convert.ToString( DoubleA, provider ) )
        Console.WriteLine( formatter, Convert.ToString( DecimA ), _
            Convert.ToString( DecimA, provider ) )
        Console.WriteLine( formatter, Convert.ToString( ObjDouble ), _
            Convert.ToString( ObjDouble, provider ) )
    End Sub
End Module

' This example of Convert.ToString( numeric types ) and
' Convert.ToString( numeric types, IFormatProvider )
' converts values of each of the CLR base numeric types to strings,
' using default formatting and a NumberFormatInfo object.
' 
' Note: Of the several NumberFormatInfo properties that are changed,
' only the negative sign and decimal separator affect the conversions.
' 
'                Default   Format Provider
'                -------   ---------------
'                    140   140
'                    -60   minus 60
'                  61680   61680
'                  -3855   minus 3855
'             4042322160   4042322160
'             -252645135   minus 252645135
'    8138269444283625712   8138269444283625712
'   -1085102592571150095   minus 1085102592571150095
'                -32.375   minus 32 point 375
'             61680.3855   61680 point 3855
'   4042322160.252645135   4042322160 point 252645135
'            -98765.4321   minus 98765 point 4321

[C#] 
// Example of the Convert.ToString( numeric types ) and 
// Convert.ToString( numeric types, IFormatProvider ) methods.
using System;
using System.Globalization;

class ConvertNumericProviderDemo
{
    static void Main( )
    {
        // Create a NumberFormatInfo object and set several of its
        // properties that apply to numbers.
        NumberFormatInfo provider = new NumberFormatInfo( );
        string formatter = "{0,22}   {1}";

        // These properties will affect the conversion.
        provider.NegativeSign = "minus ";
        provider.NumberDecimalSeparator = " point ";

        // These properties will not be applied.
        provider.NumberDecimalDigits = 2;
        provider.NumberGroupSeparator = ".";
        provider.NumberGroupSizes = new int[ ] { 3 };

        // Convert these values using default values and the
        // format provider created above.
        byte    ByteA       = 140;
        SByte   SByteA      = -60;
        UInt16  UInt16A     = 61680;
        short   Int16A      = -3855;

        UInt32  UInt32A     = 4042322160;
        int     Int32A      = -252645135;
        UInt64  UInt64A     = 8138269444283625712;
        long    Int64A      = -1085102592571150095;

        float   SingleA     = -32.375F;
        double  DoubleA     = 61680.3855;
        decimal DecimA      = 4042322160.252645135M;
        object  ObjDouble   = (object)( -98765.4321 );

        Console.WriteLine( "This example of " +
            "Convert.ToString( numeric types ) and \n" +
            "Convert.ToString( numeric types, IFormatProvider ) \n" +
            "converts values of each of the CLR base numeric types " +
            "to strings, \nusing default formatting and a " +
            "NumberFormatInfo object." );
        Console.WriteLine(
            "\nNote: Of the several NumberFormatInfo " +
            "properties that are changed, \nonly the negative sign " +
            "and decimal separator affect the conversions.\n" );
        Console.WriteLine( formatter, "Default", "Format Provider" );
        Console.WriteLine( formatter, "-------", "---------------" );

        // Convert the values with and without a format provider.
        Console.WriteLine( formatter, Convert.ToString( ByteA ), 
            Convert.ToString( ByteA, provider ) );
        Console.WriteLine( formatter, Convert.ToString( SByteA ), 
            Convert.ToString( SByteA, provider ) );
        Console.WriteLine( formatter, Convert.ToString( UInt16A ), 
            Convert.ToString( UInt16A, provider ) );
        Console.WriteLine( formatter, Convert.ToString( Int16A ), 
            Convert.ToString( Int16A, provider ) );

        Console.WriteLine( formatter, Convert.ToString( UInt32A ), 
            Convert.ToString( UInt32A, provider ) );
        Console.WriteLine( formatter, Convert.ToString( Int32A ), 
            Convert.ToString( Int32A, provider ) );
        Console.WriteLine( formatter, Convert.ToString( UInt64A ), 
            Convert.ToString( UInt64A, provider ) );
        Console.WriteLine( formatter, Convert.ToString( Int64A ), 
            Convert.ToString( Int64A, provider ) );

        Console.WriteLine( formatter, Convert.ToString( SingleA ), 
            Convert.ToString( SingleA, provider ) );
        Console.WriteLine( formatter, Convert.ToString( DoubleA ), 
            Convert.ToString( DoubleA, provider ) );
        Console.WriteLine( formatter, Convert.ToString( DecimA ), 
            Convert.ToString( DecimA, provider ) );
        Console.WriteLine( formatter, Convert.ToString( ObjDouble ), 
            Convert.ToString( ObjDouble, provider ) );
    }
}

/*
This example of Convert.ToString( numeric types ) and
Convert.ToString( numeric types, IFormatProvider )
converts values of each of the CLR base numeric types to strings,
using default formatting and a NumberFormatInfo object.

Note: Of the several NumberFormatInfo properties that are changed,
only the negative sign and decimal separator affect the conversions.

               Default   Format Provider
               -------   ---------------
                   140   140
                   -60   minus 60
                 61680   61680
                 -3855   minus 3855
            4042322160   4042322160
            -252645135   minus 252645135
   8138269444283625712   8138269444283625712
  -1085102592571150095   minus 1085102592571150095
               -32.375   minus 32 point 375
            61680.3855   61680 point 3855
  4042322160.252645135   4042322160 point 252645135
           -98765.4321   minus 98765 point 4321
*/ 

[C++] 
// Example of the Convert::ToString( numeric types ) and 
// Convert::ToString( numeric types, IFormatProvider* ) methods.
#using <mscorlib.dll>
using namespace System;
using namespace System::Globalization;

void main( )
{
    // Create a NumberFormatInfo object and set several of its
    // properties that apply to numbers.
    NumberFormatInfo*   provider = new NumberFormatInfo( );
    String*             formatter = S"{0,22}   {1}";

    // These properties will affect the conversion.
    provider->NegativeSign = S"minus ";
    provider->NumberDecimalSeparator = S" point ";

    // These properties will not be applied.
    provider->NumberDecimalDigits = 2;
    provider->NumberGroupSeparator = S".";
    Int32 sizes __gc [] = { 3 };
    provider->NumberGroupSizes = sizes;

    // Convert these values using default values and the
    // format provider created above.
    Byte        ByteA       = 140;
    SByte       SByteA      = -60;
    UInt16      UInt16A     = 61680;
    short       Int16A      = -3855;

    UInt32      UInt32A     = 4042322160;
    int         Int32A      = -252645135;
    UInt64      UInt64A     = 8138269444283625712;
    __int64     Int64A      = -1085102592571150095;

    float       SingleA     = -32.375F;
    double      DoubleA     = 61680.3855;
    Decimal     DecimA      = 
                    Convert::ToDecimal( S"4042322160.252645135" );
    Object*     ObjDouble   = __box( -98765.4321 );

    Console::WriteLine( S"This example of " 
        S"Convert::ToString( numeric types ) and \n" 
        S"Convert::ToString( numeric types, IFormatProvider* ) \n" 
        S"converts values of each of the CLR base numeric types " 
        S"to strings, \nusing default formatting and a " 
        S"NumberFormatInfo object." );
    Console::WriteLine(
        S"\nNote: Of the several NumberFormatInfo " 
        S"properties that are changed, \nonly the negative sign " 
        S"and decimal separator affect the conversions.\n" );
    Console::WriteLine( formatter, S"Default", S"Format Provider" );
    Console::WriteLine( formatter, S"-------", S"---------------" );

    // Convert the values with and without a format provider.
    Console::WriteLine( formatter, Convert::ToString( ByteA ), 
        Convert::ToString( ByteA, provider ) );
    Console::WriteLine( formatter, Convert::ToString( SByteA ), 
        Convert::ToString( SByteA, provider ) );
    Console::WriteLine( formatter, Convert::ToString( UInt16A ), 
        Convert::ToString( UInt16A, provider ) );
    Console::WriteLine( formatter, Convert::ToString( Int16A ), 
        Convert::ToString( Int16A, provider ) );

    Console::WriteLine( formatter, Convert::ToString( UInt32A ), 
        Convert::ToString( UInt32A, provider ) );
    Console::WriteLine( formatter, Convert::ToString( Int32A ), 
        Convert::ToString( Int32A, provider ) );
    Console::WriteLine( formatter, Convert::ToString( UInt64A ), 
        Convert::ToString( UInt64A, provider ) );
    Console::WriteLine( formatter, Convert::ToString( Int64A ), 
        Convert::ToString( Int64A, provider ) );

    Console::WriteLine( formatter, Convert::ToString( SingleA ), 
        Convert::ToString( SingleA, provider ) );
    Console::WriteLine( formatter, Convert::ToString( DoubleA ), 
        Convert::ToString( DoubleA, provider ) );
    Console::WriteLine( formatter, Convert::ToString( DecimA ), 
        Convert::ToString( DecimA, provider ) );
    Console::WriteLine( formatter, Convert::ToString( ObjDouble ), 
        Convert::ToString( ObjDouble, provider ) );
}

/*
This example of Convert::ToString( numeric types ) and
Convert::ToString( numeric types, IFormatProvider* )
converts values of each of the CLR base numeric types to strings,
using default formatting and a NumberFormatInfo object.

Note: Of the several NumberFormatInfo properties that are changed,
only the negative sign and decimal separator affect the conversions.

               Default   Format Provider
               -------   ---------------
                   140   140
                   -60   minus 60
                 61680   61680
                 -3855   minus 3855
            4042322160   4042322160
            -252645135   minus 252645135
   8138269444283625712   8138269444283625712
  -1085102592571150095   minus 1085102592571150095
               -32.375   minus 32 point 375
            61680.3855   61680 point 3855
  4042322160.252645135   4042322160 point 252645135
           -98765.4321   minus 98765 point 4321
*/ 

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, Common Language Infrastructure (CLI) Standard

See Also

Convert Class | Convert Members | System Namespace | Convert.ToString Overload List

Show:
© 2014 Microsoft