C# | Convert.ToDecimal(String, IFormatProvider) Method - GeeksforGeeks

29 Aug, 2021
This method is used to convert the specified string representation of a number to an equivalent decimal number, using the specified culture-specific formatting information. 
Syntax: 
public static decimal ToDecimal (string value, IFormatProvider provider);
Parameters: 
value: It is a string that contains a number to convert.
provider: It is an object that supplies culture-specific formatting information.
Return Value: This method returns a decimal number that is equivalent to the number in value, or 0 (zero) if value is null.Exceptions: 
FormatException: If the value is not a number in a valid format.
OverflowException: If the value represents a number that is less than MinValue or greater than MaxValue.
Below programs illustrate the use of Convert.ToDecimal(String, IFormatProvider) Method:Example 1: 
csharp
// C# program to demonstrate the// Convert.ToDecimal() Methodusing System;using System.Globalization; class GFG { // Main Methodpublic static void Main(){    try {                 // creating object of CultureInfo        CultureInfo cultures = new CultureInfo("en-US");         // declaring and initializing String array        string[] values = {"123456789", "12345.6789",                                 "123,456,789.0123"};         // calling get() Method        Console.WriteLine("Converted decimal value "+                           "of specified strings: ");                                    for (int j = 0; j < values.Length; j++) {            get(values[j], cultures);        }    }         catch (FormatException e) {                 Console.WriteLine("\n");        Console.Write("Exception Thrown: ");        Console.Write("{0}", e.GetType(), e.Message);    }         catch (OverflowException e) {                 Console.WriteLine("\n");        Console.Write("Exception Thrown: ");        Console.Write("{0}", e.GetType(), e.Message);    }} // Defining get() methodpublic static void get(string s,           CultureInfo cultures){     // converting string to specified char    decimal val = Convert.ToDecimal(s, cultures);     // display the converted char value    Console.Write(" {0}, ", val);}}
Converted decimal value of specified strings: 
 123456789,  12345.6789,  123456789.0123, 
 
Example 2: For FormatException 
csharp
// C# program to demonstrate the// Convert.ToDecimal() Methodusing System;using System.Globalization; class GFG { // Main Methodpublic static void Main(){    try {                 // creating object of CultureInfo        CultureInfo cultures = new CultureInfo("en-US");         // declaring and initializing String array        string[] values = {"123456789", "12345.6789",                                 "123,456,789.0123"};         // calling get() Method        Console.WriteLine("Converted decimal value"+                         " of specified strings: ");                                  for (int j = 0; j < values.Length; j++) {                         get(values[j], cultures);        }                 Console.WriteLine("\n");        string s = "123 456, 789";         Console.WriteLine("format of s is invalid ");         // converting string to specified char        decimal val = Convert.ToDecimal(s, cultures);         // display the converted char value        Console.Write(" {0}, ", val);    }         catch (FormatException e) {                 Console.Write("Exception Thrown: ");        Console.Write("{0}", e.GetType(), e.Message);    }    catch (OverflowException e) {                 Console.Write("Exception Thrown: ");        Console.Write("{0}", e.GetType(), e.Message);    }} // Defining get() methodpublic static void get(string s,           CultureInfo cultures){     // converting string to    // specified decimal value    decimal val = Convert.ToDecimal(s, cultures);     // display the converted decimal value    Console.Write(" {0}, ", val);}}
Converted decimal value of specified strings: 
 123456789,  12345.6789,  123456789.0123, 

format of s is invalid 
Exception Thrown: System.FormatException
 
Example 3: For OverflowException
csharp
// C# program to demonstrate the// Convert.ToDecimal() Methodusing System;using System.Globalization; class GFG { // Main Methodpublic static void Main(){    try {                 // creating object of CultureInfo        CultureInfo cultures = new CultureInfo("en-US");         // declaring and initializing String array        string[] values = {"123456789", "12345.6789",                                 "123,456,789.0123"};         // calling get() Method        Console.WriteLine("Converted decimal value "+                           "of specified strings: ");                                    for (int j = 0; j < values.Length; j++) {                         get(values[j], cultures);        }                 Console.WriteLine("\n");        string s = "-7922816251426433759354395033500000";         Console.WriteLine("s is less than the MinValue");         // converting string to specified char        decimal val = Convert.ToDecimal(s, cultures);         // display the converted char value        Console.Write(" {0}, ", val);    }    catch (FormatException e) {        Console.Write("Exception Thrown: ");        Console.Write("{0}", e.GetType(), e.Message);    }    catch (OverflowException e) {        Console.Write("Exception Thrown: ");        Console.Write("{0}", e.GetType(), e.Message);    }} // Defining get() methodpublic static void get(string s,           CultureInfo cultures){     // converting string to    // specified decimal value    decimal val = Convert.ToDecimal(s, cultures);     // display the converted decimal value    Console.Write(" {0}, ", val);}}
Converted decimal value of specified strings: 
 123456789,  12345.6789,  123456789.0123, 

s is less than the MinValue
Exception Thrown: System.OverflowException
 
Reference: 
https://docs.microsoft.com/en-us/dotnet/api/system.convert.todecimal?view=netframework-4.7.2#System_Convert_ToDecimal_System_String_System_IFormatProvider_
sagartomar9927
CSharp Convert Class
CSharp-method
C#
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
C# Dictionary with examples
C# | Method Overriding
C# | Class and Object
Difference between Ref and Out keywords in C#
C# | Constructors
Introduction to .NET Framework
Extension Method in C#
C# | Delegates
C# | Abstract Classes
C# | Data Types