Este método se usa para convertir la representación de string especificada de un número en un número decimal equivalente, usando la información de formato específica de la cultura especificada.
Sintaxis:
public static decimal ToDecimal (string value, IFormatProvider provider);
Parámetros:
- valor: Es una string que contiene un número para convertir.
- proveedor: es un objeto que proporciona información de formato específica de la cultura.
Valor devuelto: este método devuelve un número decimal que es equivalente al número en valor, o 0 (cero) si el valor es nulo.
Excepciones:
- FormatException : si el valor no es un número en un formato válido.
- OverflowException : si el valor representa un número menor que MinValue o mayor que MaxValue.
Los siguientes programas ilustran el uso del método Convert.ToDecimal(String, IFormatProvider) :
Ejemplo 1:
csharp
// C# program to demonstrate the // Convert.ToDecimal() Method using System; using System.Globalization; class GFG { // Main Method public 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() method public 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); } }
Producción:
Converted decimal value of specified strings: 123456789, 12345.6789, 123456789.0123,
Ejemplo 2: para FormatException
csharp
// C# program to demonstrate the // Convert.ToDecimal() Method using System; using System.Globalization; class GFG { // Main Method public 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() method public 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); } }
Producción:
Converted decimal value of specified strings: 123456789, 12345.6789, 123456789.0123, format of s is invalid Exception Thrown: System.FormatException
Ejemplo 3: para OverflowException
csharp
// C# program to demonstrate the // Convert.ToDecimal() Method using System; using System.Globalization; class GFG { // Main Method public 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() method public 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); } }
Producción:
Converted decimal value of specified strings: 123456789, 12345.6789, 123456789.0123, s is less than the MinValue Exception Thrown: System.OverflowException
Referencia:
Publicación traducida automáticamente
Artículo escrito por RohitPrasad3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA