Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.
This topic has not yet been rated - Rate this topic

Convert.ToString Method (Decimal, IFormatProvider)

Converts the value of the specified Decimal number to its equivalent String representation.

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

public static string ToString (
	decimal value,
	IFormatProvider provider
)
public static String ToString (
	Decimal value, 
	IFormatProvider provider
)
public static function ToString (
	value : decimal, 
	provider : IFormatProvider
) : String

Parameters

value

A Decimal number.

provider

An IFormatProvider interface implementation that supplies culture-specific formatting information.

Return Value

The String equivalent of the value of value.

This implementation is identical to Decimal.ToString.

The following code example converts a Decimal value to a String with the ToString method, using an IFormatProvider object.

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

// Example of the Convert.ToString( numeric types ) and 
// Convert.ToString( numeric types, IFormatProvider ) methods.
import System.* ;
import System.Globalization.* ;

class ConvertNumericProviderDemo
{   
    public static void main(String[] args)
    {    
        // 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.set_NegativeSign("minus ");
        provider.set_NumberDecimalSeparator(" point ");
      
        // These properties will not be applied.
        provider.set_NumberDecimalDigits(2);
        provider.set_NumberGroupSeparator(".");
        provider.set_NumberGroupSizes(new int[]{3});
      
        // Convert these values using default values and the
        // format provider created above.
        ubyte byteA = 140;
        SByte sByteA = (SByte)(-60);
        UInt16 uInt16A = (UInt16)61680;
        short int16A = -3855;
      
        UInt32 uInt32A = (UInt32)(4042322160L);
        int int32A = -252645135;
        UInt64  uInt64A     =(UInt64)8138269444283625712L;
        long    int64A      = -1085102592571150095L;
      
        float singleA = (float)-32.375;
        double doubleA = 61680.3855;
        System.Decimal decimA = System.Convert.ToDecimal(4042322160.252645135);
        Object objDouble = (System.Double)(-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));
    } //main
} //ConvertNumericProviderDemo

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

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0
Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

Show:
© 2014 Microsoft. All rights reserved.